Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Dynamic SQL / 12 сообщений из 12, страница 1 из 1
22.10.2002, 11:58:53
    #32060638
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Как написать динамический запрос, создающий представление в другой баз( по отношению к текущей )

Т.е. надо чтобы
USE some_db
Go
Create View the_view
AS
select * from test

Но только в виде динамического statement'a
EXEC( 'USE some_db
Go
Create View the_view
AS
select * from test' )

Пишет, что
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 'Go'.
Server: Msg 111, Level 15, State 1, Line 2
'CREATE VIEW' must be the first statement in a query batch.
...
Рейтинг: 0 / 0
22.10.2002, 12:21:07
    #32060650
fima
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
попробуйте без use
Код: plaintext
Create View Имя_базы.dbo.the_view 

со вьюшками не работал, так что могу ошибаться... И еще вопрос. А Вам действительно нужно программно создавать вьюшку? Как то не красиво выглядит...
...
Рейтинг: 0 / 0
22.10.2002, 13:01:18
    #32060676
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Нужно, нужно!

Create view db_name.dbo.table
не работает, так как Views создаются только в текущей базе!
...
Рейтинг: 0 / 0
22.10.2002, 13:02:11
    #32060678
AVL
AVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
go разделяет пакеты и используется в QA. fima предложил вроде верный вариант, но, действительно, зачем создавать вьюху динамически?
...
Рейтинг: 0 / 0
22.10.2002, 13:04:51
    #32060681
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Зачем создавать - это другой вопрос!
Я спросил как!

Вы бы хоть попробовали то что советуете!
...
Рейтинг: 0 / 0
22.10.2002, 13:04:58
    #32060682
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Код: plaintext
1.
2.
3.
4.
EXEC('Use Northwind; EXEC(''CREATE VIEW dbo.VEmployees AS SELECT * FROM Employees'')')
GO
SELECT * FROM Northwind.dbo.VEmployees
GO
...
Рейтинг: 0 / 0
22.10.2002, 13:06:19
    #32060683
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
To jimmers:
СПАСИБО!!!!!!!!!!!!!!!!!!!!!
СПАСИБО!!!!!!!!!!!!!!!!!!!!!
СПАСИБО!!!!!!!!!!!!!!!!!!!!!
СПАСИБО!!!!!!!!!!!!!!!!!!!!!
СПАСИБО!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
22.10.2002, 15:02:09
    #32060770
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
а так не проще?
Код: plaintext
exec srv.mydb..sp_executesql('create view....')
...
Рейтинг: 0 / 0
22.10.2002, 15:20:47
    #32060778
FixeR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Скрипт хранится в поле ntext. Скажем это очень длинный скрипт.
Как его выполнить???
...
Рейтинг: 0 / 0
22.10.2002, 15:35:54
    #32060785
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Там же вроде не склеить большое определение. Или можно?
...
Рейтинг: 0 / 0
22.10.2002, 15:44:22
    #32060789
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
что за скрипт?
T-SQL?
или VBScript?
...
Рейтинг: 0 / 0
22.10.2002, 16:13:23
    #32060801
vap
vap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic SQL
Если очень длинный, то надо сохранить в файле и запустить. Например через isql.exe.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Dynamic SQL / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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