2017-08-13 2 views
0

で関数を作成している間、私は機能のパラメータを追加したいが、関数を呼び出した後、それはエラーを投げる開始:複数のパラメータのエラー私は今ではなく、静的な値を渡して、関数を作成したSQL Server

Procedure or function dbo.hello has too many arguments specified.

機能:

Create Function dbo.hello 
    (@InputstartDate Date, @InputendDate Date) 
Returns @attendanceTemp table(STUD_NAME VARCHAR(50), 
           ATTD_DATE DATE , 
           attd_DATEs DATE, 
           Attendance VARCHAR(20)) 
As 
Begin 
    Declare @startDate DATE 
    SET @startDate = @InputstartDate 

    Declare @endDate Date 
    SET @endDate = @InputendDate 

    Declare @dateDifference INT 
    SET @dateDifference = DATEDIFF(day, @startDate,@endDate) ; 

    Declare @count INT 
    SET @count = 0 

    DECLARE @myTable TABLE (STUD_ID int, 
          countdd int, 
          STUD_NAME varchar(50), 
          AttDate Date 
          ) 

    While @count <= @dateDifference 
    Begin 
     Insert Into @myTable (STUD_ID, countdd, STUD_NAME, AttDate) 
     Values (1, 123, 'HAIDER', @startDate) 

     Set @count = @count +1 
     Set @startDate = DATEADD(day, 1, @startDate) 
    End 

    Insert Into @attendanceTemp 
     Select 
      tb.STUD_NAME, ATTD_DATE, tb.AttDate, 
      Case 
       When att.DETAIL Is Null 
        Then 'ABSENT' 
       When att.DETAIL = 'ATTENDACE' 
        Then 'PRESENT' 
      End As Attendance 
     from 
      @myTable tb 
     Left Join 
      ATTENDANCE att on tb.AttDate = att.ATTD_DATE 
     Where 
      att.STUD_ID = 1 or att.STUD_ID IS NULL 

    Return 
END 

呼び出す機能:

select * 
from dbo.hello('2014-04-01', '2014-04-10'); 

エラー:

Procedure or function dbo.hello has too many arguments specified

+0

正常に動作するよう、機能が正常に動作します。正しいサーバーとデータベースに対してselectステートメントを実行していますか? –

+0

'select * from sys.objects where name = 'hello''、' sp_helptext' dbo.hello'' –

答えて

0

おそらく、1つのパラメータで初めて関数を作成したことがあります。 それから、 'create function'スクリプトに変更を加え、展開するのを忘れましたか?

私はそうです。 (私が原因テーブル「出席」を持っていないに完全なテストを実行することはできませんが)

1. DROP FUNCTION dbo.hello 
2. CREATE FUNCTION dbo.hello, with you script 
3. Try executing your function again. 

機能は、私はこの問題をREPROすることはできません

関連する問題