Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизСоздание БД с помощью 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c