请教如何用程序去检查某SQL串是否有语法错误
1个回答
展开全部
SET PARSEONLY选项(类似于SSMS的Cntrl+F5)
这个选项检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。
下面我们创建一个存储过程用来检查输入的语句是否正确:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
create procedure IsValidSQL(@sqlvarchar(max))as
begin
begin try
set @sql = 'set parseonly on;'+@sql;
exec(@sql);
end try
begin catch
return(1);
end catch;
return(0);
end;-- IsValidSQL
这个选项检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。
下面我们创建一个存储过程用来检查输入的语句是否正确:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
create procedure IsValidSQL(@sqlvarchar(max))as
begin
begin try
set @sql = 'set parseonly on;'+@sql;
exec(@sql);
end try
begin catch
return(1);
end catch;
return(0);
end;-- IsValidSQL
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询