powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите чайнику,плиз!
14 сообщений из 14, страница 1 из 1
Помогите чайнику,плиз!
    #32124600
SMishka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как создать таблицу в процедуре ?
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124673
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А разве так можно?
помоему нет
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124712
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю, в одной команде один create. :)
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #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
Помогите чайнику,плиз!
    #32124765
SMishka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точнее говоря if (not exist...
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124798
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно будет ругаться потому что язык процедур и триггеров не поддерживает команды DDL. (или я ошибаюсь???)
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124809
SMishka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как тогда создать таблицу по условию ?
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124815
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ms sql есть правило - в одном батче один create. Я думаю это правило и для ib действует.

У тебя 2 create - create procedure и create table.
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124860
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подумай!
Из приложения, и зачем в процессе работы создаватьтаблу (если она конечно не внешняя для передачи кудада вне). может стои подумать над архитектурой базы данных
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #32124879
SMishka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за науку ;)
...
Рейтинг: 0 / 0
Помогите чайнику,плиз!
    #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
Помогите чайнику,плиз!
    #32128834
AndreyK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Bohdan
А это вы к чему? Вопрос про create table в хранимой процедуре.

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

Вопрос:

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

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


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