“CREATE FUNCTION”必须是查询批中的第一个语句

Esc*_*per 1 sql sql-server sql-function

每当我将其与其他 sql 语句一起运行时,都会出现错误:

CREATE FUNCTION' 必须是查询批中的第一个语句

但是,每当我单独执行它时(在我的情况下没有 SELECT * FROM CUSTOMER ,它就可以工作)

   SELECT * FROM CUSTOMER;

   create function udfLogin
    (@username nvarchar(100), @password nvarchar(100)) 
    returns int as
    begin
      if exists(select 1 from CUSTOMER where Username = @username and [Password] = @password)
        return 1
      return 0;
    end
Run Code Online (Sandbox Code Playgroud)

Meh*_*osh 8

您需要用 GO 关键字分隔每批代码。

SELECT * FROM CUSTOMER
 GO
   create function udfLogin
    (@username nvarchar(100), @password nvarchar(100)) 
     returns int as
     begin
      if exists(select 1 from CUSTOMER where Username = @username and 
      [Password] = @password)
       return 1
     return 0;
   end
Go
Run Code Online (Sandbox Code Playgroud)