![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Create table in SP [D5, IB6.x]
b_baranov © (2003-01-20 19:45:00)Уважаемые Мастера, подскажите пожалуйста можно-ли внутри SP создать временную таблицу. Пробую сделать это в рамках IB-Experts и ничего не получается - синтаксич. ошибка на оператор CREATE TABLE t1(id integer, n float)
Заранее благодарю.
Desdechado (2003-01-21 13:12:00) [1]в ХП допустим только язык манипулирования данными, а язык определения данных - нет.
о каком прерывании идет речь? если имеется ввиду исключение, то есть EXCEPTION. если что-то другое, уточните.
Alexandr (2003-01-21 07:01:00) [2]кривость MSSQL привела к необхомости временных таблиц.
В Interbase такой кривости нет, поэтому временные таблицы нахрен не нужны.
mad0max (2003-01-21 06:20:00) [3]Interbase абсолютно неудобен в этом контексте. Осутствие временных таблиц, я считаю очень серьезная недоработка... В этом плане действительно хорош MS SQL
kaif (2003-01-21 05:28:00) [4]Перевожу на русский.
Available in gpre, DSQL, and isql
значит, что в хранимой процедуре или триггере этого сделать нельзя (CREATE, ALTER, DROP TABLE, PROCEDURE, VIEW и так далее не работают). Если очень нужны такие вещи, то можно попробовать перейти на MSSQL. Там по-моему это работало, если мне не изменяет память.
Но проще сделать это (CREATE TABLE) из приложения. Некоторые, может, даже ухитрятся это сделать в UDF, но я лично не стал бы рисковать.
И еще нужно помнить, что только юзер-создатель таблицы (OWNER) сможет затем ее уничтожить или сделать ALTER (права на изменение метаданных). А остальным он может предоставить только права на доступ к ней и права на передачу прав на доступ.
b_baranov (2003-01-20 20:04:00) [5]Вот эта процедура вызывает прерывание.
Create procedure s1
begin
/* Procedure Text */
create table t2(id integer, name1 varchar(20));
end
Не подскажете в чем ошибка?
Delirium^.Tremens (2003-01-20 19:56:00) [6]Available in gpre, DSQL, and isql
b_baranov (2003-01-20 19:53:00) [7]Речь идет о возможности создания таблицы в рамках хранимой процедуры.
Delirium^.Tremens (2003-01-20 19:47:00) [8]CREATE TABLE
Creates a new table in an existing database. Available in gpre, DSQL, and isql.