[英]Parameter not set still passing value in stored procedure sql
ALTER PROCEDURE [dbo].[XXXXX]
@type varchar(20)
,@Name varchar(20)
,@DayVal int
,@MonthVal int
,@YearVal int
AS
BEGIN
If type='yyy'
begin
insert into dbo.destinationDB
(name,Dayval,Monthval,Yearval)
values
(@name,@DayVal,@MonthVal,@YearVal)
在上述SQL Server存儲過程中,未在任何其他存儲過程或Jobs中未設置值的任何地方都未定義參數@ name,@ DataVal,@ MonthVal,@ YearVal。 但是它仍然傳遞值,並且在目標表中更新值。
如果還有另一個過程或觸發器調用您的proc,您將在sys.sql_module中找到它:
SELECT OBJECT_NAME(object_id), *
FROM sys.sql_modules
WHERE definition LIKE '%XXXX%' -- your proc name
如果不存在,則至少存在三種可能的情況:
您可能正在與null
比較,嘗試添加and type IS NOT NULL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.