1
解決參數我有以下查詢:如何在sp_executesql的
create proc [dbo].GetCustById
as
DECLARE @sql nvarchar(500)
DECLARE @Param nvarchar(200)
SET @sql = 'select @columnName from customer where custId = @custId'
SET @Param = N'@columnName varchar(10), @custId int'
EXEC sp_executesql @sql, @Param , @columnName = 'Address1', @custId = '42'
但它總是返回一個字符串「地址1」,而不是地址1列的值。任何人都可以幫忙
感謝
的原因,我不能讓它作爲concetenate字符串是因爲由於到安全政策。這將打開SQL注入! – user384080 2010-10-06 02:34:23
@ user384080:那麼你運氣不好。按照OMG的建議,你不能直接參數化列名。 – 2010-10-06 02:38:06
好吧..在這樣做的時候必須有更好的方法..如果我的應用程序打開sql注入,它將不僅僅是「運氣不好」! – user384080 2010-10-06 02:42:06