Параметр не передается, а новая таблица создается с именем параметра – @Name_Scheme. Подскажите, пожалуйста, как правильно задать синтаксис в stored procedure.
Best wishes, Taras
Re: Параметр, как имя для новой таблицы в SP (MS SQL)
Здравствуйте IT, Вы писали:
IT>Здравствуйте Good Man, Вы писали:
GM>>По средством хранимой процедуры пытаюсь создать новую таблицу в SQL Server 7.0. Делаю это так:
IT>А если так?
IT>
Server: Msg 170, Level 15, State 1, Procedure New_Table, Line 5
Line 5: Incorrect syntax near '='.
Server: Msg 170, Level 15, State 1, Procedure New_Table, Line 13
Line 13: Incorrect syntax near '
REPLACE(@Str,'.
Server: Msg 105, Level 15, State 1, Procedure New_Table, Line 14
Unclosed quotation mark before the character string ',@Name_Scheme)
Exec @Str
'.
Best wishes, Taras
Re[3]: Параметр, как имя для новой таблицы в SP (MS SQL)
Я понимаю, что написал не точно — извиняюсь, но все же думать тоже надо...
vav>>CREATE PROCEDURE New_Table vav>>@Name_Scheme nvarchar (15) = "Новая таблица" vav>>AS
Если пишешь в редакторе с подсветкой SQL-синтаксиса, то весь текст
от "CREATE TABLE " до
"[Info_Text2] nvarchar (100) NULL,
..." должен быть выделен как строка (в Query Analayser по умолчанию красный)
Re[4]: Параметр, как имя для новой таблицы в SP (MS SQL)
Здравствуйте vav, Вы писали:
vav>Я понимаю, что написал не точно — извиняюсь, но все же думать тоже надо...
vav>>>CREATE PROCEDURE New_Table vav>>>@Name_Scheme nvarchar (15) = "Новая таблица" vav>>>AS
И зачем так сложно?
vav>Declare @Str varchar --тут еще размер нужно задавать vav>Set @Str =' vav>>>CREATE TABLE [@Name_Scheme] ( vav>>>[Call] int NULL, vav>>>[Type] nvarchar (1) NULL, vav>>>[Name] nvarchar (10) NULL, vav>>>[Info_Text] nvarchar (100) NULL, vav>>>[Info_Text1] nvarchar (100) NULL, vav>>>[Info_Text2] nvarchar (100) NULL, vav>>>... vav>>>'
vav>>>REPLACE(@Str,'@Name_Scheme',@Name_Scheme)
vav>>>Exec @Str
Re[9]: Параметр, как имя для новой таблицы в SP (MS SQL)
От:
Аноним
Дата:
19.03.02 14:03
Оценка:
Здравствуйте Lexey, Вы писали:
L>Здравствуйте Good Man, Вы писали:
GM>>Ну и как теперь из Query Analayser можно создать новую таблицу?
GM>>Exec New_Table Table1
L>Eexec New_Table 'Table1'
GM>>Где «Table1” имя новой таблицы. Так не работает. GM>>Создает таблицу с именем «+@Name_Scheme+»
L>Не знаю, что ты там наворотил, но с такой процедурой все работает:
L>