Главная страница
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.03 c
3-1103889141
Парамоша
2004-12-24 14:52
2005.01.30
Очистка Image.Canvas


4-1102923618
denis24
2004-12-13 10:40
2005.01.30
запуск второй копии програмы из faq


1-1105696438
Zilog
2005-01-14 12:53
2005.01.30
структура конфигурационного файла (как хранить)


14-1105508908
Копир
2005-01-12 08:48
2005.01.30
Пиво в России опять можно пить свободно!


14-1105621345
Yorick1988
2005-01-13 16:02
2005.01.30
большая разница температур