我已经制作了一个存储过程,我希望它根据 SQL 语句是否有效返回 true 或 false。
Create PROCEDURE [dbo].[CheckSQLStatement]
@SQL varchar(8000)
AS
SET NOEXEC ON
Exec @SQL
SET NOEXEC OFF
这是我到目前为止所拥有的,当语句有效时,在 SQL Server 管理工作室中,结果是命令成功完成。如果语句 i 无效,它会返回错误消息,EG 'Selec' 附近的语法不正确。
首先,如果语句有效,我如何返回 false 的值 True。
其次,我怎样才能返回无效的错误信息?
我在想类似的事情:
Create PROCEDURE [dbo].[CheckSQLStatement]
@SQL varchar(8000),
@IsValid bit OUTPUT,
@text NVARCHAR(1000)OUTPUT
AS
SET NOEXEC ON
Exec @SQL
SET NOEXEC OFF
Select @Isvalid
Select @Text
但我不知道如何设置这些值?
有没有更好的方法?
任何帮助将不胜感激,在此先感谢。