Параметр не установлен, все еще передавая значение в хранимой процедуре sql - PullRequest
0 голосов
/ 23 мая 2018
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, @MonthVal, @YearVal нигде не определены, а значения не заданы ни в каких других хранимых процедурах или заданиях.Но все равно передаваемые значения и значения обновляются в таблице назначения.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если есть другая процедура или триггер, вызывающий ваш процесс, вы найдете его в sys.sql_module:

SELECT OBJECT_NAME(object_id), *
FROM sys.sql_modules
WHERE definition LIKE '%XXXX%' -- your proc name

Если его нет, есть как минимум 3 возможных сценария:

  • есть связанный сервер, вызывающий ваш сервер
  • есть внешнее приложение
  • кто-то еще вызывает его из ssms
0 голосов
/ 23 мая 2018

Вы, вероятно, сравниваете с null, попробуйте добавить and type IS NOT NULL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...