Создайте триггер, чтобы проверить определенные столбцы -- sql-server пол Связанный проблема

Create a trigger to check specific columns


0
vote

проблема

русский

Я хотел бы иметь триггер, который проверяет, если столбец имеет определенное значение, я знаю, что я должен использовать иностранные ключи для этого, но в этом случае я не могу, чтобы я хотел бы создать своего рода общий триггер Проверьте определенный столбец, если таблица:

Например, у меня есть этот запрос возвращает базовую информацию, которая мне нужна, и для имени таблицы по Конвенции я добавляю строку «TYPEID», и я положил его в переменную @Column, когда я пытаюсь проверить, был ли этот столбец, Если обновление, дает мне ошибку. Есть ли способ подтвердить, что этот столбец был изменен с использованием этого подхода?

 <код>     SELECT @schema = OBJECT_SCHEMA_NAME(parent_id),            @table = OBJECT_NAME(parent_id)        FROM sys.triggers       WHERE object_id = @@PROCID       DECLARE @Column NVARCHAR(50) = @table + N'TypeId'       IF UPDATE (@Column)                    BEGIN         PRINT '->' + @table + '<-'         END      

Спасибо!

Английский оригинал

I would like to have a trigger that validates if a column has a specific value, I know I should use foreign keys for that, but in this case I can't so I would like to create a kind of generic trigger to validate a specific column if a table:

For example I have this query returns basic info that I need and for the table name by convention I add the string 'TypeId' and I put it in a variable @Column, when I try to check if that column was changed, the IF UPDATE gives me an error. Is there any way to validate that this column was changed using this approach?

    SELECT @schema = OBJECT_SCHEMA_NAME(parent_id),            @table = OBJECT_NAME(parent_id)        FROM sys.triggers       WHERE object_id = @@PROCID       DECLARE @Column NVARCHAR(50) = @table + N'TypeId'       IF UPDATE (@Column)                    BEGIN         PRINT '->' + @table + '<-'         END    

Thanks!

</div
  
         
         

Список ответов

Связанный проблема

0  Сервер SQL Server Rowing Rows Mathet - без «заказа»  ( Sql server paging rows by offset without order by ) 
Производственный стол мой содержит более миллиона записей. Требование требует для поискового запроса для извлечения записей по смещению и предельным параметра...

0  Как создать просмотр, листья всей дружбы для таблицы «Friend1, Frim2» в T-SQL и предотвратить вставлять дубликаты?  ( How to create view listing all friendship for friend1 friend2 table in t sql a ) 
У меня есть таблица, определяемая следующим образом: <код> CREATE TABLE [dbo].[Friendships] ( [friendship_id] INT NOT NULL, [friend1] INT NOT...

5  Создание экземпляра базы данных в C #  ( Creating a database instance in c sharp ) 
Можно ли создать экземпляр базы данных SQL с C # код. У меня нет проблем с добавлением базы данных к существующему экземпляру SQL, например Wonea Sqlexpress,...

0  Подзапрос в пункте in () вызывает ошибку  ( Subquery in an in clause causing error ) 
Я на SQL Server 2005, и я получаю ошибку, которую я почти не должен получать. <код> Msg 512, Level 16, State 1, Procedure spGetSavedSearchesByAdminUser, Lin...

1  Выполнить файл SQL, возвращать результаты как Pandas DataFrame  ( Execute sql file return results as pandas dataframe ) 
У меня есть сложный запрос SQL Server, который я хотел бы выполнить из Python и вернуть результаты в виде файла PandaFrame. Моя база данных читается только ...

2  Условная сумма на основе даты (сверхурочная сумма по контракту)  ( Conditional sum based on date sum overtime by contract ) 
У меня есть стол с <Код> ID (Commonse_id), <код> Name , <код> time_worked , <код> time_to_work , <код> Contract_Start_Date , <код> Date_of_Entry . Эта таблиц...

1  Запрос содержащий логику  ( Query containing logic ) 
<код> empno emailID -------------------- 1 A@gm.com 2 B@gm.com 3 C@gm.com 2 BB@gm.com 1 AA@gm.com 1 ...

0  SQL Server - получить столбец, у которого есть конкретное значение  ( Sql server get column who have specific value ) 
У меня есть запрос SQL, который возвращает: <код> id | value 1 a 1 a 1 b 2 a 2 a Я хочу получить только...

66  SQL Server - Запуск больших файлов сценариев  ( Sql server running large script files ) 
У меня есть таблица базы данных на сервере разработки, который теперь полностью заполнен после того, как установил его, работающий с процедурой импорта для фа...

2890  Добавьте столбец с значением по умолчанию на существующую таблицу в SQL Server  ( Add a column with a default value to an existing table in sql server ) 
Как я могу добавить столбец с значением по умолчанию на существующую таблицу в SQL Server 2000 / SQL Server 2005 ? ...

0  Код ошибки триггера SQL  ( Sql trigger error code ) 
Я пытаюсь разработать триггер SQL Server, но, похоже, это выбрасывает для меня ошибку, когда я обновляю записи, которые имеют одинаковые значения с помощью зн...

0  Скопируйте все таблицы от MS Access (.mdb) на другой MS Access (.mdb) сразу (только структура)  ( Copy all the tables from ms access mdb to another ms access mdb at once str ) 
Как скопировать все таблицы (глобальные и локальные) из одного файла доступа MS (.mdb) в другой файл доступа MS (.mdb) только со структурой. Файл MS Access св...

1  C # код для объемного обновления SQL Server  ( C sharp code to bulk update sql server ) 
У нас есть этот код C #, который будет обновлять таблицу базы данных SQL Server на основе флагов в структуре. <код> public struct stSRK { public string...

141  Получение только месяц и год от даты SQL  ( Getting only month and year from sql date ) 
Мне нужно добраться только к месяцу. Возникновение из поля даты в SQL Server. ...

2  CTE с динамическим запросом  ( Cte with dynamic query ) 
У меня есть динамический запрос, который я звоню, и я помещаю результат набор в переменной таблице <код> INSERT INTO @outTable EXEC sp_executesql @query; ...

Связанный проблема

0  Сервер SQL Server Rowing Rows Mathet - без «заказа» 
0  Как создать просмотр, листья всей дружбы для таблицы «Friend1, Frim2» в T-SQL и предотвратить вставлять дубликаты? 
5  Создание экземпляра базы данных в C # 
0  Подзапрос в пункте in () вызывает ошибку 
1  Выполнить файл SQL, возвращать результаты как Pandas DataFrame 
2  Условная сумма на основе даты (сверхурочная сумма по контракту) 
1  Запрос содержащий логику 
0  SQL Server - получить столбец, у которого есть конкретное значение 
66  SQL Server - Запуск больших файлов сценариев 
2890  Добавьте столбец с значением по умолчанию на существующую таблицу в SQL Server 
0  Код ошибки триггера SQL 
0  Скопируйте все таблицы от MS Access (.mdb) на другой MS Access (.mdb) сразу (только структура) 
1  C # код для объемного обновления SQL Server 
141  Получение только месяц и год от даты SQL 
2  CTE с динамическим запросом 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.