powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбор строки
2 сообщений из 2, страница 1 из 1
Выбор строки
    #39905174
IvKor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Триггер работает нормально только с первой строкой

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
ALTER TRIGGER autokor ON test
   FOR INSERT,UPDATE
AS 
BEGIN
SET NOCOUNT ON
DECLARE @C_Number VARCHAR(50) 
SET @C_Number = (SELECT testt FROM test)
DECLARE @Pred VARCHAR(3)
DECLARE @Numeric VARCHAR(4)
DECLARE @Post VARCHAR(50)

SELECT @Pred= UPPER(left(@C_Number,PATINDEX('%[0-9]%',@C_Number)-1)), @C_Number = SUBSTRING(@C_Number,PATINDEX('%[0-9]%',@C_Number),50) 
SELECT @Numeric= left(@C_Number,PATINDEX('%[^0-9]%',@C_Number)-1), @Post = SUBSTRING(@C_Number,PATINDEX('%[^0-9]%',@C_Number),50) 
SELECT @Pred = @Pred + '-' WHere @Pred not like '%-' 

SELECT @Pred,@Numeric,@Post

if @Pred not like '[A-ZА-Я]-' and @Pred not like '[A-ZА-Я][A-ZА-Я]-'
begin
   SET @Pred = ''
End 

if @Post = NULL
begin
   SET @Post = ''
End 

if len(@Numeric)>4 or len(@Numeric)=0
begin
   SET @Numeric = '0000'
End 

if @Post not like '%[^A-Za-zА-Яа-я0-9]%'
begin
   SET @Post = ''
End 

SET @C_Number = @Pred + right('0000'+@Numeric,4) + @Post

UPDATE test SET testt = @C_Number FROM test WHERE test.id = test.id
END



Но на 2 строку он выдает ошибку (см. ниже)
я так понял что проблема в строке
Код: sql
1.
UPDATE test SET testt = @C_Number FROM test WHERE test.id = test.id


т.к. он начинает пытается обработать ВСЕ строки а не ту которые я добавляю или изменяю
как правильно указать в WHERE именно ту строку с которой я работаю?
...
Рейтинг: 0 / 0
Выбор строки
    #39905177
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Темы плодить не надо. Достаточно исходной: https://www.sql.ru/forum/1320410/ogranicheniya-i-regulyarnye-vyrazheniya
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбор строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]