Я довольно новичок в SQL Server. Я пытаюсь создать простую процедуру, чтобы получить имя текущего имени процедуры для целей отладки.
Это код.
-- ======================================================================
-- Create Stored Procedure Template for Azure SQL Data Warehouse Database
-- ======================================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [stg].[test_procid]
AS
BEGIN
DECLARE @objectname VARCHAR(200);
SET @objectname = QUOTENAME(object_schema_name(@@procid)) + '.' + QUOTENAME(object_name(@@procid));
END
GO
Когда я выполняю этот код, я получаю эту ошибку.
Сообщение 137, Уровень 16, Состояние 1, Строка 8
Необходимо объявить скалярную переменную "@@ procid".
Не уверен, что я делаю не так. Пожалуйста, помогите
Обновление:
Спасибо @Larnu и @David. Я использую хранилище данных SQL Azure и думаю, что в этом причина. Я хочу, чтобы эта информация передавалась другой процедуре общим способом, нежели жесткое кодирование имени процедуры.
Есть ли способ сделать это в хранилище данных Azure?