Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите чайнику,плиз! / 14 сообщений из 14, страница 1 из 1
21.03.2003, 13:24
    #32124600
SMishka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
Как создать таблицу в процедуре ?
...
Рейтинг: 0 / 0
21.03.2003, 14:32
    #32124673
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
А разве так можно?
помоему нет
...
Рейтинг: 0 / 0
21.03.2003, 14:58
    #32124712
Осирис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
Как я понимаю, в одной команде один create. :)
...
Рейтинг: 0 / 0
21.03.2003, 15:30
    #32124760
SMishka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
CREATE PROCEDURE kvik
returns (k integer)
AS
BEGIN
if (exists(select * from rdb$relations
where rdb$relation_name = 'kuk')) then
begin
k=1;
CREATE TABLE kuk(field1 integer);
end
END;


Ругается на фразу CREATE TABLE - Token unknown !?
...
Рейтинг: 0 / 0
21.03.2003, 15:33
    #32124765
SMishka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
точнее говоря if (not exist...
...
Рейтинг: 0 / 0
21.03.2003, 15:57
    #32124798
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
Конечно будет ругаться потому что язык процедур и триггеров не поддерживает команды DDL. (или я ошибаюсь???)
...
Рейтинг: 0 / 0
21.03.2003, 16:05
    #32124809
SMishka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
Как тогда создать таблицу по условию ?
...
Рейтинг: 0 / 0
21.03.2003, 16:06
    #32124815
Осирис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
В ms sql есть правило - в одном батче один create. Я думаю это правило и для ib действует.

У тебя 2 create - create procedure и create table.
...
Рейтинг: 0 / 0
21.03.2003, 16:44
    #32124860
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
подумай!
Из приложения, и зачем в процессе работы создаватьтаблу (если она конечно не внешняя для передачи кудада вне). может стои подумать над архитектурой базы данных
...
Рейтинг: 0 / 0
21.03.2003, 17:03
    #32124879
SMishka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
Спасибо за науку ;)
...
Рейтинг: 0 / 0
27.03.2003, 18:14
    #32128492
Bohdan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
CREATE PROCEDURE SPRCLIENT (
ASUPPLIER SMALLINT)
RETURNS (
ID INTEGER,
SNAME VARCHAR(25),
NAME VARCHAR(84),
CODE VARCHAR(25),
CLIENTTYPEID SMALLINT,
CLIENTTYPESNAME VARCHAR(25),
ADDRESSLOCATION VARCHAR(84),
ADDRESSLAW VARCHAR(84),
PHONE VARCHAR(25),
FAX VARCHAR(25),
TAXCODE VARCHAR(25),
TAXNUMBER VARCHAR(25),
STOREID SMALLINT,
STORESNAME VARCHAR(25),
BANKACCOUNTNO VARCHAR(25),
BANKMFO VARCHAR(25),
BANKOKPO VARCHAR(25),
BANKNAME VARCHAR(84),
PROFILEID SMALLINT,
PROFILESNAME VARCHAR(25),
OWNER VARCHAR(84),
CONTACTPERSON VARCHAR(84),
COMMENT VARCHAR(84),
SUPPLIER SMALLINT,
PARENTID INTEGER,
PARENTSNAME VARCHAR(25),
VOLUME CHAR(1),
PLACE CHAR(1),
TYPE CHAR(1),
DELIVERY CHAR(1),
ISINDIVIDUAL SMALLINT,
MAXDELAY SMALLINT,
PRICETYPEID SMALLINT,
PRICETYPESNAME VARCHAR(25))
AS declare variable Allowed smallint;
begin
for
select
C.ID,
C.SName,
C.Name,
C.Code,
C.ClientTypeID,
C.AddressLocation,
C.AddressLaw,
C.Phone,
C.Fax,
C.TaxCode,
C.TaxNumber,
C.StoreID,
C.BankAccountNo,
C.BankMFO,
C.BankOKPO,
C.BankName,
C.ProfileID,
C.Owner,
C.ContactPerson,
C.Comment,
C.Supplier,
C.ParentID,
PC.SName,
C.Volume,
C.Place,
C.Type,
C.Delivery,
C.IsIndividual,
C.MaxDelay,
C.PriceTypeID
from Client C left outer join Client PC on C.ParentID = PC.ID
where ((:aSupplier is Null)or(C.Supplier = :aSupplier))
into
:ID,
:SName,
:Name,
:Code,
:ClientTypeID,
:AddressLocation,
:AddressLaw,
:Phone,
:Fax,
:TaxCode,
:TaxNumber,
:StoreID,
:BankAccountNo,
:BankMFO,
:BankOKPO,
:BankName,
:ProfileID,
:Owner,
:ContactPerson,
:Comment,
:Supplier,
:ParentID,
:ParentSName,
:Volume,
:Place,
:Type,
:Delivery,
:IsIndividual,
:MaxDelay,
:PriceTypeID
do
begin
execute procedure eprClient_Allowed(:ID)
returning_values(:ClientTypeSName,:ProfileSName,:Allowed);
if (:Allowed=1) then begin
select SName
from Store
where ID = :StoreID
into :StoreSName;
PriceTypeSName = Null;
if (:PriceTypeID is not Null) then
select SName
from PriceType
where ID = :PriceTypeID
into :PriceTypeSName;
Suspend;
end
end
end

взято из рабочей базы, посмотри
...
Рейтинг: 0 / 0
28.03.2003, 11:13
    #32128834
AndreyK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
>Bohdan
А это вы к чему? Вопрос про create table в хранимой процедуре.

Товорисч Voha абсолютно прав "язык процедур и триггеров не поддерживает команды DDL".
...
Рейтинг: 0 / 0
28.03.2003, 17:46
    #32129323
mad
mad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
Добрый день.

Вопрос:

SELECT...INTO NewTable
не создает новую таблицу, если ее нет?

Спасибо.
...
Рейтинг: 0 / 0
29.03.2003, 06:15
    #32129473
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите чайнику,плиз!
нет
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите чайнику,плиз! / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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