In realtà ho creato un tipo di tabella definito dall'utente in SQL Server 2008. La struttura è riportata di seguito.Come creare una funzione che prenda il tipo di tabella definito dall'utente come parametro e restituisca lo stesso in sql?
Lo sto passando come parametro in funzione e quella funzione restituisce anche quel tipo di tipo di tabella. Sto affrontando il problema, mentre dichiaro una variabile di quel tipo in funzione, inserendo alcuni dati in essa e restituisco quel parametro.
Tabella tipo di struttura è:
Create Type OfferWithSubscription as Table
(
OfferID int,
OfferUserID int,
OfferImage varchar(200),
OfferExactPrice Decimal(18,2),
OfferContent varchar(max),
OfferTitle varchar(100),
StartDate datetime,
EndDate datetime,
StartTime datetime,
StopTime datetime,
ShowToUser bit,
SubID int,
SubLevel varchar(100)
)
E la funzione, quello che sto cercando di creare è:
CREATE FUNCTION FN_ShowOffer
(
@Gold int,
@Silver int,
@Bronze int,
@table dbo.OfferWithSubscription Readonly)
RETURNS dbo.OfferWithSubscription
AS
BEGIN
DECLARE @ReturnTable AS dbo.OfferWithSubscription;
Declare @Case as varchar(20)
if(@Gold=0 and @Silver=1 and @Bronze=0)
begin
set @Case='1S'
end
if(@Case='1S')
Begin
insert into @ReturnTable
select OfferID, OfferUserID, OfferImage,
OfferExactPrice, OfferContent,
OfferTitle, StartDate, EndDate,
StartTime, StopTime, ShowToUser,
SubID, SubLevel
from @table
where SubID=4
End
RETURN (
@ReturnTable
)
END
Signor Richard, grazie mille per la risposta rapida. È utile per me .. –
Mr. Mahmoud Gamal, mostra l'errore che "Dichiara la variabile scalare" @ReturnTable "." –
Hai perso la riga 'RETURNS @ReturnTable Table' nell'intestazione della funzione? – RichardTheKiwi