powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Insert into view
5 сообщений из 5, страница 1 из 1
Insert into view
    #32371378
Bigben
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плиз
ситуация такая

есть view
CREATE VIEW V_ACC_OBJECT(
ID,
OBJECT_NAME,
DESCRIPTION)
AS
select id,
object_name,
description
from ACC_OBJECT
where go_id in (select groups_id from acc_rights ar, acc_user_roles ur, acc_users au, acc_object ao where ur.users_id=au.id and ur.roles_id=ar.roles_id and au.sysusername=user and ar.object_id=ao.id and ao.object_name='ACC_OBJECT');

на таблицу

CREATE TABLE ACC_OBJECT (
ID INTEGER NOT NULL,
OBJECT_NAME VARCHAR(50) CHARACTER SET NONE,
DESCRIPTION VARCHAR(100) CHARACTER SET NONE,
GO_ID INTEGER
);

на view висит тригер
CREATE TRIGGER V_ACC_OBJECT_BI0 FOR V_ACC_OBJECT
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE gg integer;
begin
select * from get_group into :gg;
insert into acc_object (id, object_name, description, go_id) values (new.id, new.object_name, new.description, :gg);
end

Когда пытаюсь сделать insert
insert into v_acc_object (id, object_name, description) values (20, 'TEST', 'TEST')

ругается

Invalid insert or update value(s): object columns are
constrained - no 2 table rows can have duplicate column values.
violation of PRIMARY or UNIQUE KEY constraint "PK_ACC_OBJECT" on table "ACC_OBJECT".

Помогите плиз
в чем может быть дело
id not null и уникальное значения 20 в таблице нет
...
Рейтинг: 0 / 0
Insert into view
    #32371386
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AS
select ACC_OBJECT.id,
ACC_OBJECT.object_name,
ACC_OBJECT.description
должно помочь
...
Рейтинг: 0 / 0
Insert into view
    #32371400
Bigben
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не помогло
...
Рейтинг: 0 / 0
Insert into view
    #32371413
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, понял. У тебя view обновляемое :) Оно само вставляет, а в триггере ты пытаешься еще раз insert сделать. Просто сделай before insert и присваивай NEW.go_id нужное значение
...
Рейтинг: 0 / 0
Insert into view
    #32371432
Bigben
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое
Все заработало
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Insert into view
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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