안녕하세요.
동일한 타입의 테이블을 union all 해서 view 를 만든 후
where에서 키를 가지고 특정 테이블에서만 update나 delete가 가능한가요?
테스트를 해보았는데 "분할 열을 찾을 수가 없다"라는 메시지가 나옵니다.
맞게 테스트를 한건지 조언 부탁드립니다.
(msid 는 01, 02이 서로 겹치지 않습니다.)
테스트한 쿼리는 아래와 같습니다.
======================================
create table test_table_01 ( <<= test_table_02 도 동일하게 생성
msid int not null primary key
title varchar(50) not null,
msg varchar(50) not null,
in_date int not null,
up_date int
)
insert into test_table_01 (msid, title, msg, in_date) values (1, 'title01', 'msg01', 0)
insert into test_table_01 (msid, title, msg, in_date) values (3, 'title03', 'msg03', 0)
insert into test_table_02 (msid, title, msg, in_date) values (2, 'title02', 'msg02', 0)
insert into test_table_02 (msid, title, msg, in_date) values (4, 'title04', 'msg04', 0)
create view test_table_vw
as
select msid, title, msg, in_date, up_date
from test_table_01
union all
select msid, title, msg, in_date, up_date
from test_table_02
go
update test_table_vw
set up_date = 1
where msid = 1
====================================
Comment 1
-
초짜해커
2014.04.02 10:44
view에 Instead of Trigger를 만들면 가능합니다.