Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 INSTEAD OF INSERT TRIGGER  [new]
Puzik
Member

Откуда:
Сообщений: 20
здраствуйте,помогите пожалуйста написать триггер ситуация в таблицу надо добавить поле но к сожалению в GUI Application исползуетсыа комбинация insert в таблицу без перечесления полей .спасибо
19 мар 14, 18:14    [15754723]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4538
Триггер на что? На добавление поля?
Или записи?
Вопрос непонятен
19 мар 14, 18:42    [15754849]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
kober
Guest
простите на добавление записи.
19 мар 14, 18:54    [15754906]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
Glory
Member

Откуда:
Сообщений: 104751
Puzik
исползуетсыа комбинация insert в таблицу без перечесления полей

Триггеру все равно, какая команда insert вызвала его срабатываение
19 мар 14, 19:21    [15755048]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
kober
Guest
когда выполняется insert без перечесления полей вылетает на ошибку
Msg 213, Level 16, State 1, Line 1
Insert Error: Column name or number of supplied values does not match table definition.
19 мар 14, 19:27    [15755080]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
kober,

И как триггер поможет устранить эту ошибку?
19 мар 14, 19:47    [15755173]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
Crimean
Member

Откуда:
Сообщений: 13147
на правах варианта
зачем тут нужен триггер - тоже не очень понимаю

use tempdb
go

create table dbo.a ( id int )
go

insert into dbo.a select 1
go

select * from dbo.a
go

sp_rename 'a', 'a_old', 'object'
go

alter table dbo.a_old add No int not null default(0)
go

select * from dbo.a_old
go

create view dbo.a as select id from dbo.a_old
go

select * from dbo.a
go


insert into dbo.a select 2
go

select * from dbo.a_old
go

drop view dbo.a
go

drop table dbo.a_old
go
19 мар 14, 20:30    [15755362]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
kober
Guest
наверное я не правилно обьяснила уже существует код в GUI программе Insert T value('a','b')
но мне надо добавить поле в таблицу Т чтобы GUI программа не полетела пока ыспеем поменять ехе филе
19 мар 14, 20:46    [15755437]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
Glory
Member

Откуда:
Сообщений: 104751
kober
но мне надо добавить поле в таблицу Т чтобы GUI программа не полетела пока ыспеем поменять ехе филе

И как эту проблему решит триггер ?
19 мар 14, 20:47    [15755441]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
kober
Guest
не знаю поэтому и спрашиваю .а что может помочь?
19 мар 14, 20:50    [15755459]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
kober
не знаю поэтому и спрашиваю .а что может помочь?
Добавляемый в таблицу столбец должен либо быть nullable, либо иметь значение по умолчанию.
19 мар 14, 21:05    [15755507]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
Kober
Guest
я ето сделала конечно не помогает
19 мар 14, 21:11    [15755532]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
kober
не знаю поэтому и спрашиваю .а что может помочь?
Создать view вместо таблицы, а саму таблицу переименовать. Собственно это то, что предложил Crimean. Других вариантов нет.
19 мар 14, 21:21    [15755563]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
Kober
я ето сделала конечно не помогает
А... Так у вас список столбцов не указан.
Тогда соглашусь с Crimean и Mind.
19 мар 14, 21:31    [15755595]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF INSERT TRIGGER  [new]
kober
Guest
хорошо спасибо
19 мар 14, 21:31    [15755596]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить