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的上述存储过程中,参数@ name,@ DataVal,@ MonVal,@ YesVal未在任何地方定义,而且在任何其他存储过程或作业中都未设置这些值。但它仍然传递值和值在目标表中更新。
答案 0 :(得分:2)
如果有另一个程序或触发器调用你的proc,你会在sys.sql_module中找到它:
SELECT OBJECT_NAME(object_id), *
FROM sys.sql_modules
WHERE definition LIKE '%XXXX%' -- your proc name
如果不存在,则至少有3种可能的情况:
答案 1 :(得分:0)
您可能正在与null
进行比较,请尝试添加and type IS NOT NULL