Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT
Чтото типа SET PARSEONLY только наоборот.
1 июн 09, 15:46    [7252020]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Можно описать саму задачу, а не выбранный Вами способ ее решения?
1 июн 09, 15:53    [7252092]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
pkarklin,

Есть большой скрипт, который подходит под несколко БД но есть некоторые таблицы которые не в каждой БД.В начале скрипта есть проверка типа IF OBJECT_ID('Production_Db_Fn')IS NOT NULL GOTO ... , но все равно SQL в начале проверяет весь скрипт и падает на парсинге хотя при всём раскладе он бы не упал.

Извеняюсь заранее за ошибки довненко на русском не писал.
1 июн 09, 16:20    [7252290]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Например, так:
if object_id('SomeTable') is null
    exec('create table SomeTable (SomeColumn int not null)')
1 июн 09, 16:27    [7252338]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
IF OBJECT_ID('Production_Db_Fn') IS NOT NULL EXEC ('ALTER FUNCTION Production_Db_Fn...')


Сообщение было отредактировано: 1 июн 09, 16:31
1 июн 09, 16:31    [7252364]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
Я наверное неправилно выразился.
Есть несколько проверок и в зависимости ог проверки запускается керсор в котором примерно 20000 симвалов а в EXEC ('...') нет вазможности засунуть такое количество симвалов.
1 июн 09, 16:43    [7252445]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
magadan
в EXEC ('...') нет вазможности засунуть такое количество симвалов.
А Вы пробовали?
1 июн 09, 16:46    [7252481]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
ChA
Member

Откуда: Москва
Сообщений: 10989
magadan
Есть несколько проверок и в зависимости ог проверки запускается керсор в котором примерно 20000 симвалов а в EXEC ('...') нет вазможности засунуть такое количество симвалов.
BOL
If the string is greater than 4,000 characters, concatenate multiple local variables to use for the EXECUTE string.
1 июн 09, 16:47    [7252489]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31173
ChA
magadan
Есть несколько проверок и в зависимости ог проверки запускается керсор в котором примерно 20000 симвалов а в EXEC ('...') нет вазможности засунуть такое количество симвалов.
BOL
If the string is greater than 4,000 characters, concatenate multiple local variables to use for the EXECUTE string.

А в новых версиях вообще круто:
BOL
@string_variable
Имя локальной переменной. @Аргумент string_variable может иметь тип char, varchar, nchar или nvarchar. , в том числе с ключевым словом (max).
1 июн 09, 16:57    [7252564]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
Спасибо всем за ответы.
Но всё таки может кто нибуд знает или есть какая нибудь возможность отменить парсинг скрипта перед запуском.(может SET .... OFF или ещо что нибудь) ,
2 июн 09, 11:04    [7254699]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
Glory
Member

Откуда:
Сообщений: 104760
Вообще то у этой команды два состояния - SET PARSEONLY { ON | OFF }
2 июн 09, 11:06    [7254711]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
Как в SSIS можно отменить проверку.
2 июн 09, 11:07    [7254716]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
Glory
Вообще то у этой команды два состояния - SET PARSEONLY { ON | OFF }

Да но одна делает только парс а другая стандартная и не одна из них не отминяет парс.
2 июн 09, 11:08    [7254727]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31173
magadan
Спасибо всем за ответы.
Но всё таки может кто нибуд знает или есть какая нибудь возможность отменить парсинг скрипта перед запуском.(может SET .... OFF или ещо что нибудь) ,
Конечно, нету.

Как можно выполнить скрипт, не распарсивая его перед этим???
2 июн 09, 11:13    [7254765]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
Glory
Member

Откуда:
Сообщений: 104760
magadan
Glory
Вообще то у этой команды два состояния - SET PARSEONLY { ON | OFF }

Да но одна делает только парс а другая стандартная и не одна из них не отминяет парс.

Я лично вас не понимаю

set parseonly on
go
select 1 as f1
go
set parseonly off
go
select 2 as f2
2 июн 09, 11:16    [7254788]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
magadan
Member

Откуда:
Сообщений: 14
alexeyvg,
Конечно это не совсем точно, допустим в ORACLE есть такая возможность один раз прибегал к ней :)
Думал что и в SQL есть такая возможность.
2 июн 09, 11:17    [7254805]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31173
magadan
alexeyvg,
Конечно это не совсем точно, допустим в ORACLE есть такая возможность один раз прибегал к ней :)
Думал что и в SQL есть такая возможность.
Вы просто очень невнятно объясняете, что вам надо.

В ORACLE есть возможность выполнить скрипт, не парся его???
2 июн 09, 12:00    [7255088]     Ответить | Цитировать Сообщить модератору
 Re: Может кто знает , есть возможность отменит PARSE во время EXEC SCRIPT  [new]
heldir
Member

Откуда: Запорожье->Киев->Montreal
Сообщений: 757
magadan
alexeyvg,
Конечно это не совсем точно, допустим в ORACLE есть такая возможность один раз прибегал к ней :)
Думал что и в SQL есть такая возможность.


Неправда ваша, невозможно.
2 июн 09, 19:22    [7257990]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить