Я написал хранимую процедуру, объявив выходные переменные, и успешно выполнил. Но после его выполнения мне не нужен так называемый символ '@' в выводе.
Я использую SQL Server 2012.
CREATE PROCEDURE xyz
AS
(@abc VARCHAR(100),
@def VARCHAR(100) = NULL OUTPUT,
@ghi INT = NULL OUTPUT,
@message NVARCHAR(100) = NULL OUTPUT)
BEGIN
SELECT
@def = def, @ghi = ghi
FROM
alphabets
WHERE
abc = @abc
RETURN 1
END
BEGIN CATCH
IF (ERROR_NUMBER() = 1205)
BEGIN
RAISERROR('DEADLOCK', 13, 51)
END
ELSE
SELECT @message = CONCAT (ERROR_NUMBER(), ERROR_MESSAGE(), 'FALSE' )
END CATCH
Это мой код. Теперь, выполнив это, перейдя к обозревателю объектов в SQL Server и щелкнув правой кнопкой мыши на имени процедуры и выполнив его, взяв у нас значение входного параметра, он создаст следующий код и прекрасно его выполнит.
DECLARE @return_value INT,
@def VARCHAR(100),
@ghi VARCHAR(100),
@message NVARCHAR(100)
EXEC @return_value = [dbo].[xyz] '1111',
@def = @def OUTPUT,
@ghi = @ghi OUTPUT,
@message = @message OUTPUT
SELECT
@def AS '@def',
@ghi AS '@ghi'
Фактический результат:
@def @ghi @message
123 456
Желаемый результат:
def ghi message
123 456
Все, что я хочу, это удалить этот '@' из вышеприведенного вывода. Или я могу использовать псевдонимы в выходных параметрах процедуры самостоятельно, так что, даже если кто-то выполнит его, щелкнув правой кнопкой мыши имя процедуры в проводнике объектов в SQL Server 2012 и выполнив его?