2015-07-05 8 views
0

Мне нужно написать хранимую процедуру, которая должна принять CustomerID в качестве параметра и возвращает Name из atbv_Contacts, где параметр ContactID колонки такой же, как CustomerID.SQL Server: Создание хранимой процедуры

Моя проблема в том, что я предполагаю, что я только пытаюсь получить идентификатор, поэтому он не покажет мне идентификатор Клиента. Кроме того, я не думаю, что эта процедура написана правильно, как я получаю следующие ошибки:

Msg 3609, Level 16, State 2, процедура atsp_GetNameID, линия 7
Сделки закончилась в триггере. Партия была прервана.

Msg 50000, уровень 18, состояние 1, процедура strg_Database_ChangeLog, строка 90
Недопустимое имя объекта. Проверьте опечатку.

Мой текущий код:

CREATE PROCEDURE atsp_GetNameID 
    (@CustomerID AS INT) 
AS 
BEGIN 
    SELECT ContactID 
    FROM atbv_Contacts 
    WHERE ContactID LIKE '%' + @CustomerID + '%' 
END 
+0

Это выглядит так, как будто у вас есть DDL триггер в базе данных под названием 'strg_Database_ChangeLog', что звонит' RAISERROR' и прокатку верните попытку 'CREATE'. –

+0

@MartinSmith. , , Интересно. Я не понимал, что триггер будет вызван еще до того, как будет обработана хранимая процедура. –

+0

Любое предложение, как исправить это? :? – TesteroniPeperoni

ответ

-1

Заменить этот

CREATE PROCEDURE atsp_GetNameID 
    (@CustomerID AS INT) 
AS 
BEGIN 
    SELECT ContactID 
    FROM atbv_Contacts 
    WHERE ContactID [email protected] 
END 
+0

Это не устраняет проблему и не устраняет фактическую ошибку. –

Смежные вопросы