Я использую простой оператор if exists
в моей хранимой процедуре, но при выводе он не печатает значения псевдостолбца, если записи не существуют.
SQL Server 2012
CREATE PROCEDURE test1
@Empid NVARCHAR(20)
AS
BEGIN
IF EXISTS (SELECT TOP 1 * FROM employees WHERE id = @Empid)
BEGIN
SELECT id, name, salary, 'Newemp' AS status, 1 AS Code
FROM employees
END
IF NOT EXISTS (SELECT TOP 1 * FROM employees WHERE id = @Empid)
BEGIN
SELECT id, name, salary, 'Oldemp' AS status1, 0 AS Code1
FROM employees
END
END
Результат:
Если запись существует, она возвращается как положено
ID Name Salary Status Code
-------------------------------
123 kkr 1000 Newemp 1
Если запись не существует - это проблема:
Id Name Salary Status1 Code1
-----------------------------
Желаемое значение:
ID Name Salary Status1 Code1
----------------------------
Oldemp 0
Если записи не существуют, они не печатают значения псевдостолбцов. Я изменил имена столбцов и выполнил, чтобы убедиться, что он принимает правильные столбцы, и да, он принимает правильные, но не может печатать значения.
Пожалуйста, помогите!