Sql “CREATE FUNCTION”必须是查询批处理中的第一条语句
每当我将其与其他sql语句一起运行时,它都会给出一个错误: CREATE FUNCTION“必须是查询批处理中的第一条语句 然而,在我的情况下,每当我单独执行它而没有从客户处选择*时,它就会工作Sql “CREATE FUNCTION”必须是查询批处理中的第一条语句,sql,sql-server,sql-function,Sql,Sql Server,Sql Function,每当我将其与其他sql语句一起运行时,它都会给出一个错误: CREATE FUNCTION“必须是查询批处理中的第一条语句 然而,在我的情况下,每当我单独执行它而没有从客户处选择*时,它就会工作 SELECT * FROM CUSTOMER; create function udfLogin (@username nvarchar(100), @password nvarchar(100)) returns int as begin if ex
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
您需要包括一个批处理分隔符,例如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
您需要使用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
如错误消息所示,CREATEFUNCTION语句必须是查询批处理中的第一条语句。在CREATION FUNCTION语句之前不应该有其他语句使其不是查询批处理中的第一条语句。如消息所示,为避免此错误,CREATEFUNCTION语句必须是查询批处理中的第一条语句 SQL将语句作为查询批处理执行 使用批处理的规则 以下规则适用于使用批次: 创建默认值、创建函数、创建过程、创建规则、创建 架构、创建触发器和创建视图语句不能组合 与其他语句一起批处理。 CREATE语句必须启动批处理。该批处理中后面的所有其他语句将被解释为第一个CREATE语句定义的一部分
分号丢失。@Alexander添加分号并不会开始新的批处理,它只是一个语句终止符,而不是一些使用分号的人所说的开始符;WITH语句似乎相信:P.批处理可以包含许多语句。在创建之前添加一个GOfunction@Larnu,我很惭愧!SQL不是我的强项:有点离题,但你不应该用纯文本存储密码。它们应该用盐腌过,再剁碎。