Как написать код ?
Мне нужно написать хранимую процедуру, где есть клиентские правила, если они не удовлетворены, то она должна выводиться как ошибка и пропускать блок..
Что я уже пробовал:
Я пробовал GOTO, но в хранимой процедуре я получаю ошибку...
Dave Kreskowiak
Вы не показали хранимую процедуру, что эта штука должна делать, ошибку, которую вы получаете, ... ничего! Как вы думаете, кто-нибудь вам поможет?
Member 13138564
ИЗМЕНИТЬ ПРОЦЕДУРУ USP_FONM_16_FILES
(
@COMMAND NVARCHAR (МАКС) ,
@DBNAME NVARCHAR(МАКС) ,
@FORMAT_TABLE NVARCHAR (МАКС.)
)
АС
НАЧАТЬ
ЕСЛИ @КОМАНДА =Н'HOMEOWNER'
НАЧАТЬ
ОБЪЯВИТЬ @ERR_MESSAGE VARCHAR(MAX)
ОБЪЯВИТЬ @SQL1 NVARCHAR (MAX)
SET @SQL1=N"+
ФУНКЦИЯ CONCAT('ЕСЛИ (ВЫБРАТЬ МАКСИМУМ(ЭТО) С ', @FORMAT_TABLE ,')=', "'Д"','
НАЧАТЬ
ВЫБЕРИТЕ ТОП-100* ИЗ ', @FORMAT_TABLE , '
КОНЕЦ
ЕЩЕ
НАЧАТЬ
SET @ERR_MESSAGE= "НЕДОСТУПНО"
RAISERROR(@ERR_MESSAGE, 16, 1)
Конец'
)
КОНЕЦ
ПЕЧАТЬ 'DECLARE @ERR_MESSAGE NVARCHAR(MAX)'
PRINT @SQL1
EXEC (@SQL1)
КОНЕЦ
--запустить процедуру
ошибка
Msg 137, Уровень 15, Состояние 1, Строка 49
Необходимо объявить скалярную переменную "@ERR_MESSAGE".
Msg 137, Уровень 15, Состояние 2, Строка 50