RSV
Дата: 12.12.2002 14:27:17
Помогите разобраться. Почему в MS SQL Server 2000 при
CREATE VIEW test.dbo.vTest5 as Select * FROM Test5
в базе Pub, генерируется ошибка
'CREATE VIEW' does not allow specifying the database name as a prefix to the object name..
jimmers
Дата: 12.12.2002 14:29:47
Нельзя создать View в другой базе.
Books Online:
A view can be created only in the current database.
RSV
Дата: 12.12.2002 14:44:37
В таком случае как понимать
CREATE VIEW
Creates a virtual table that represents the data in one or more tables in an alternative way. CREATE VIEW must be the first statement in a query batch.
Syntax
CREATE VIEW [ < database_name > . ] [ < owner > . ] view_name [ ( column [ ,...n ] ) ]
[ WITH < view_attribute > [ ,...n ] ]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::=
{ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
(SQL Server Books Online)
jimmers
Дата: 12.12.2002 14:50:24
RSV
Дата: 12.12.2002 15:27:54
Спасибо.
А как, все таки, можно создать такой View
Julius
Дата: 12.12.2002 15:48:36
Его надо создать прямо в нужной базе данных и из него сослаться на таблицу из другой базы данных:
Выполните эту команду в базе Test:
CREATE VIEW vTest5 as Select * FROM OtherDB.dbo.Test5
где OtherDB - та база данных, в которой находится Test5
jimmers
Дата: 12.12.2002 15:49:44
Вариант: временно сменить контекст БД и создать представление.
MiCe
Дата: 13.12.2002 17:31:15
EXEC test..SP_EXECUTESQL 'CREATE VIEW dbo.vTest5 as Select * FROM Test5' |
|
вот так....
так же работает и на других серверах....
ессесно при нужных привелегиях....