Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Создание БД с помощью ISQL.EXE   Найти похожие ветки 

 
Tomkat   (2004-12-27 12:34) [0]

Hi, мастера! Кто подскажет (желательно в примере) создание БД из скрипта с помощью утилиты isql.exe
Заранее благодарен.


 
Johnmen ©   (2004-12-27 12:52) [1]

Пример можно получить самому.
Для этого надо всего лишь "получить метаданные" с помощью той же IBConsole. И раскомментарить CREATE DATABASE...


 
Amoeba ©   (2004-12-27 17:41) [2]

Используй лучше IBExpert. Очень мощная и удобная программа. Для xUSSR он бесплатен.
http://www.ibexpert.com/rus/


 
AHTOH   (2004-12-27 18:17) [3]

Не знаю, как остальные, но я делаю ручками, но с помощью IBExpert:

SET SQL DIALECT 3;
SET NAMES WIN1251;

CREATE DATABASE "localhost:MAINDB"

USER "SYSDBA" PASSWORD "masterkey"
PAGE_SIZE = 4096 DEFAULT CHARACTER SET WIN1251;

CONNECT "localhost:MAINDB" USER "SYSDBA" PASSWORD "masterkey";

CREATE TABLE JOB
(
JOB_ID  ID_TYPE PRIMARY KEY,
JOB_NAME STRING /* наименование должности */
);

/* === создание ID-генератора для таблицы должностей === */

CREATE GENERATOR GEN_JOB_ID;
SET GENERATOR GEN_JOB_ID TO 0;

/* === создание триггера для ID-генератора таблицы должностей === */

SET TERM ^ ;

CREATE TRIGGER JOB_BI FOR JOB
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.JOB_ID IS NULL) THEN NEW.JOB_ID = GEN_ID(GEN_JOB_ID,1);
END ^

SET TERM ; ^

/* === внесение данных в таблицу должностей === */

INSERT INTO JOB (JOB_NAME) VALUES("бухгалтер");
INSERT INTO JOB (JOB_NAME) VALUES("грузчик");
INSERT INTO JOB (JOB_NAME) VALUES("кассир");
INSERT INTO JOB (JOB_NAME) VALUES("кладовщик");
INSERT INTO JOB (JOB_NAME) VALUES("контролер");
INSERT INTO JOB (JOB_NAME) VALUES("координатор");
INSERT INTO JOB (JOB_NAME) VALUES("логистик");
INSERT INTO JOB (JOB_NAME) VALUES("менеджер");
INSERT INTO JOB (JOB_NAME) VALUES("оператор");
INSERT INTO JOB (JOB_NAME) VALUES("системный администратор");
INSERT INTO JOB (JOB_NAME) VALUES("старший менеджер");

COMMIT;

CREATE TABLE PERSONAL
(
PERSONAL_ID  ID_TYPE PRIMARY KEY,
PERSONAL_JOB_ID  ID_TYPE, /* #ссылка на таблицу должностей */
PERSONAL_FAM  STRING,  /* фамилия */
PERSONAL_NAME  STRING,  /* имя */
PERSONAL_PAR  STRING,  /* отчество */
PERSONAL_FULLNAME   /* полное имя - ФИО (вычисляемое поле)*/
 COMPUTED BY (PERSONAL_FAM || " " || PERSONAL_NAME || " " || PERSONAL_PAR),
PERSONAL_STATUS  NUM_TYPE,
PERSONAL_INFO  STRING,  /* прочая информация */

FOREIGN KEY(PERSONAL_JOB_ID) REFERENCES JOB(JOB_ID)
);

/* === создание ID-генератора для таблицы работников === */

CREATE GENERATOR GEN_PERSONAL_ID;
SET GENERATOR GEN_PERSONAL_ID TO 0;

/* === создание триггера для ID-генератора таблицы работников === */

SET TERM ^ ;

CREATE TRIGGER PERSONAL_BI FOR PERSONAL
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.PERSONAL_ID IS NULL) THEN NEW.PERSONAL_ID = GEN_ID(GEN_PERSONAL_ID,1);
END ^

SET TERM ; ^

/* === внесение данных в таблицу работников === */

INSERT INTO PERSONAL(PERSONAL_JOB_ID, PERSONAL_FAM, PERSONAL_NAME, PERSONAL_PAR, PERSONAL_STATUS, PERSONAL_INFO)
 VALUES(4,"Пупкин","Василий", "Степанович",1," хороший кладовщик!");
INSERT INTO PERSONAL(PERSONAL_JOB_ID, PERSONAL_FAM, PERSONAL_NAME, PERSONAL_PAR, PERSONAL_STATUS, PERSONAL_INFO)
 VALUES(2,"Полежаев","Виктор", "Андреевич",0,"хреновый был грузчик! Много бухал и до фига накосячил. Потому и уволили");
INSERT INTO PERSONAL(PERSONAL_JOB_ID, PERSONAL_FAM, PERSONAL_NAME, PERSONAL_PAR, PERSONAL_STATUS,PERSONAL_INFO)
 VALUES(1,"Клопова","Татьяна", "Владимировна",1,"наш бухгалтер: не курит, не пьет и к сексу равнодушна");
INSERT INTO PERSONAL(PERSONAL_JOB_ID, PERSONAL_FAM, PERSONAL_NAME, PERSONAL_PAR, PERSONAL_STATUS,PERSONAL_INFO)
 VALUES(5,"Берия","Георгий", "Зурабович",1,"Вах! строгий контролер!");
INSERT INTO PERSONAL(PERSONAL_JOB_ID, PERSONAL_FAM, PERSONAL_NAME, PERSONAL_PAR, PERSONAL_STATUS,PERSONAL_INFO)
 VALUES(11,"Ситников","Виктор", "Иванович",1,"Всем манагерам манагер! А еще корешится с ментами и прочей конторой");
INSERT INTO PERSONAL(PERSONAL_JOB_ID, PERSONAL_FAM, PERSONAL_NAME, PERSONAL_PAR, PERSONAL_STATUS,PERSONAL_INFO)
 VALUES(5,"Фридлянд","Григорий", "Юльевич",0,"Уволили за то, что отказывался работать по субботам");

COMMIT;


 
AHTOH   (2004-12-27 18:20) [4]

сорри, перед объявлением таблиц забыл домены описать ....


CREATE DOMAIN ID_TYPE BIGINT NOT NULL;
CREATE DOMAIN NUM_TYPE INTEGER NOT NULL;
CREATE DOMAIN STRING VARCHAR(256) DEFAULT "<NO NAME>";



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
4-1102257133
Леонид
2004-12-05 17:32
2005.01.30
Отлов открытия папки файла!!!


1-1105708010
про
2005-01-14 16:06
2005.01.30
Kak svernut programku pri pervom ejo zapuske???


1-1106150907
Wolf3
2005-01-19 19:08
2005.01.30
Ка поставить таймаут на определенное время?


1-1106132778
Denmin
2005-01-19 14:06
2005.01.30
Есть ли что-нибудь похожее на Pos, но чтобы искал с конца слова?


1-1106136165
Артемиус
2005-01-19 15:02
2005.01.30
TMemoryStream и TBitmap: кто виноват?