У меня есть хранимая процедура, которая вставляет пустые строки для определенных значений.
Ниже приведена соответствующая часть хранимой процедуры. Вы можете видеть, что если key2 равен NULL, то мы устанавливаем его значение на основе key1.
IF NOT EXISTS (SELECT * FROM myTable WHERE key1 = @key1)
INSERT INTO myTable (key1,key2)
VALUES (@key1, ISNULL(@key2,'abc'+LTRIM(STR(@key1,7,0))));
То, что я хотел бы сделать, это установить key2 по той же формуле, если key2 имеет значение null или пустую строку.
Ради этого вопроса, давайте предположим, что я не могу изменить вызывающего абонента, чтобы в некоторых случаях я мог получить либо пустую строку, либо нулевую. В случае, когда key2 не является нулевой или пустой строкой, тогда вставить его как есть.
Я уверен, что есть простой способ сделать это, но я действительно не знаю достаточно sql, чтобы знать, что искать.