2009-05-08 7 views
0

Ce code me donne l'erreur:
Msg 156, niveau 15, état 1, procédure DefaultActivity, ligne 2 Syntaxe incorrecte près du mot-clé 'RETURN'. Msg 137, niveau 15, état 2, procédure DefaultActivity, ligne 3 Doit déclarer la variable scalaire "@returnTable". Msg 1087, niveau 15, état 2, procédure DefaultActivity, ligne 18 Doit déclarer la variable de table "@returnTable".Comment convertir datatable de UDF dans SQL?

CREATE FUNCTION dbo.DefaultActivity 
RETURNS 
    @returnTable table (
[VisitingCount] int, 
[Time] nvarchar(50) 
) 

AS 
BEGIN 

DECLARE @DateNow DATETIME,@i int 
set @DateNow='00:00' 
set @i=1; 

    while(@i<1440) 
     begin 
      set @DateNow=DATEADD(minute, 1, @DateNow) 
       insert into @returnTable ([VisitingCount], [Time]) values(0, right(left(convert(nvarchar, @DateNow, 121), 16), 5)) 
      set @[email protected]+1 
     end 

    RETURN 
END 

Répondre

0

Cela devrait fonctionner:

CREATE FUNCTION dbo.DefaultActivity() 
RETURNS @returnTable 
TABLE 
(
    [VisitingCount] int, 
    [Time] nvarchar(50) 
) 
AS 
BEGIN 
    DECLARE @DateNow DATETIME,@i int 

    set @DateNow='00:00' 
    set @i=1; 

    while(@i<1440) 
     begin 
       set @DateNow=DATEADD(minute, 1, @DateNow) 
       insert into @returnTable ([VisitingCount], [Time]) 
       values(0, right(left(convert(nvarchar, @DateNow, 121), 16), 5)) 
       set @[email protected]+1 
     end 

    RETURN 
END 

GO 

select * from dbo.DefaultActivity() 
+0

vous n'êtes pas correct. J'ai besoin de codes de look de table s'il vous plaît !!! – Penguen

+0

merci beaucoup !!! vous l'avez résolu ... – Penguen

+0

@ykaratoprak - Andomar a répondu correctement à la question (il suffisait d'ajouter des parenthèses) Il n'a pas affiché le code complet – kristof

0

Je pense que ce devrait être

CREATE FUNCTION dbo.DefaultActivity() 
RETURNS     -- RETURN vs RETURNS here 
+0

i changer. mais le résultat est le même que précédemment. – Penguen

3

essayez de spécifier une liste vide d'arguments?

CREATE FUNCTION dbo.DefaultActivity() 
RETURNS 
... 
+1

c'est tout - mais il semble que l'OP avait besoin d'une solution "copier-coller" – kristof

+1

+1. Votre solution est correcte, j'ai simplement couru le tout pour m'assurer qu'aucune autre erreur n'a été commise. – edosoft