У меня есть следующие таблицы:
Таблицы первой серии:
create table tbl1
(
id int,
name varchar(100)
);
insert into tbl1 values(1,'tbl1');
create table tbl2
(
id int,
name varchar(100)
);
insert into tbl2 values(1,'tbl2');
create table tbl3
(
id int,
name varchar(100)
);
insert into tbl3 values(1,'tbl3');
create table tbl4
(
id int,
name varchar(100)
);
insert into tbl4 values(1,'tbl4');
Серия двойных столов:
create table tbl11
(
id int,
name varchar(100)
);
insert into tbl11 values(1,'tbl11');
create table tbl22
(
id int,
name varchar(100)
);
insert into tbl22 values(1,'tb22');
create table tbl33
(
id int,
name varchar(100)
);
insert into tbl33 values(1,'tbl33');
create table tbl44
(
id int,
name varchar(100)
);
insert into tbl44 values(1,'tbl44');
Теперь я хочу создать VIEW
таблиц каждой серии:
Серия One View:
create view View_tbl_one_series as
select * from tbl1
union all
select * from tbl2
union all
select * from tbl3
union all
select * from tbl4
Серия Double View:
create view View_tbl_double_series as
select * from tbl11
union all
select * from tbl22
union all
select * from tbl33
union all
select * from tbl44
После этого я по какой-то причине DROP TABLE tbl1
и создаю еще один VIEW
, который содержит определение двух серийных представлений.
ПОСМОТРЕТЬ ВСЕ:
create view All_VIEW AS
select * from View_tbl_one_series
union all
select * from View_tbl_double_series
Получение ошибки:
Сообщение 208, уровень 16, состояние 1, процедура View_tbl_one_series, строка 2
Неверное имя объекта 'tbl1'.
Попробуйте
exec sp_refreshview View_tbl_one_series
но все равно получаю ту же ошибку.
Примечание : У меня много tables
и views
в системе баз данных, и создание представления all - последняя процедура, и между ними по какой-то причине приходится отбрасывать некоторые таблицы.