大佬教程收集整理的这篇文章主要介绍了SP_EXECUTESQL和输出参数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,选择所希望的ID
使用的输出变量@ID = ([ID])
然后分配该@ID OUTPUT
中值@ID
使用可变@ID = @ID
OUTPUT
。另外,您应该使用变量在where子句中传递数据,以避免类似sql的注入问题[ModulID] =
@IDModul
(即,您不应像那样将其串联起来[ModulID] = ' + @IDModul
)。试试这个 :
DECLARE @sqlquery NVARCHAR(MAX)
SET @sqlquery = 'SELECT top (1) @ID = ([ID]) FROM '
+ @TblZimz + ' WHERE [ModulID] = @IDModul'
EXEC SP_EXECUTEsql
@sqlquery,
N'@ID INT OUTPUT, @IDModul INT',
@IDModul = @IDModul,
@ID = @ID OUTPUT
在这里查看详细信息SP_EXECUTEsql
我想从查询中获取ID,但是我得到的是NULL,我的错误在哪里?
DECLARE @TblZimz NVARCHAR(256)
DECLARE @IdModul IntegeR
DECLARE @Id IntegeR
SET @TblZimz = '_ZIMZ000001'
SET @IdModul = 1
--SET @Id = -1
EXECUTE [InsertZimz] @TblZimz,@IdModul,@Id OUTPUT
ALTER PROCEDURE [InsertZimz]
@TblZimz NVARCHAR(256),@IdModul NVARCHAR(256),@Id IntegeR OUTPUT
DECLARE @SqlQuery NVARCHAR(MAX)
SET @SqlQuery = 'SELECT TOP (1) ([ID]) FROM ' + @TblZimz + ' WHERE [ModulId] = ' + @IdModul
EXEC SP_EXECUTESQL @SqlQuery,N'@id integer OUTPUT',@Id OUTPUT
为什么@Id参数始终为null?我看不到我的错误?
以上是大佬教程为你收集整理的SP_EXECUTESQL和输出参数全部内容,希望文章能够帮你解决SP_EXECUTESQL和输出参数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。