У меня есть таблица с поля customer_code и customer_Name. Я хотел запустить триггер для создания и обновления пользовательского кода при вводе имени клиента.Trigger для формирования кода клиента
CustomerCode должен быть первым, третьим и последним письмом клиента, и если несколько клиентов имеют одинаковое имя, то код должен быть добавлен с 1,2,3 .... и т. Д. (Например: RAHAN-RHN, RAHAN-RHN1, RHN2 ... и т. Д.).
Другое дело, если есть другое имя * (например: ROHAN-код должен быть RHN3) * Я застрял на этой части
Может кто-то пожалуйста, помогите мне, как скрипт триггера.
Благодаря
Это один я создал, но есть ошибка на второй попытки части, как я уже упоминал выше.
CREATE TRIGGER [dbo].[alphaNumericCustomerReference]
ON [dbo].[CUSTOMER_MASTER]
AFTER INSERT
AS
declare @NewCode nvarchar(50)
declare @NewName nvarchar(50)
declare @checkCode nvarchar(50)
declare @ExtendedRefCode nvarchar(50)
declare @id int,@msg varchar(200)
declare @sameCustomerCount int
select @id= CUST_ID from inserted i;
select @NewCode= UPPER(SUBSTRING(CUST_NAME, 1, 1)+SUBSTRING(CUST_NAME, 3, 1)+RIGHT(CUST_NAME,1)) from inserted i;
select @checkCode=CUST_CODE from dbo.CUSTOMER_MASTER where [email protected]
select @NewName=CUST_NAME from inserted i;
select @sameCustomerCount=count(CUST_NAME)-2 from dbo.CUSTOMER_MASTER where [email protected]
BEGIN
SET NOCOUNT ON;
if @checkCode is null
BEGIN TRY
UPDATE CUSTOMER_MASTER
SET CUST_CODE= @NewCode
where [email protected]
END TRY
BEGIN CATCH
PRINT 'Error occured that is'
set @msg=(SELECT ERROR_MESSAGE())
print @msg;
END CATCH
else
BEGIN TRY
select @[email protected]+1;
select @[email protected]+convert(nvarchar(255),@sameCustomerCount)
UPDATE CUSTOMER_MASTER
SET CUST_CODE= @ExtendedRefCode
where [email protected]
END TRY
BEGIN CATCH
PRINT 'Error occured that is'
set @msg=(SELECT ERROR_MESSAGE())
print @msg;
END CATCH
Вы пытались написать триггер самостоятельно, прежде чем обращаться за помощью. – Jacobian
Посмотрите эту тему. http://stackoverflow.com/questions/14252244/creating-a-trigger-generating-id-column-value-before-insert-when-new-tables-is-c – ogallagher
Спасибо, я пытаюсь .. – Amjath