Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.06 c
6-1100015933
MIchael
2004-11-09 18:58
2005.01.30
Получение списка пользователей


1-1106106221
TButton
2005-01-19 06:43
2005.01.30
Упаковка ресурсов


14-1105604370
Рамиль
2005-01-13 11:19
2005.01.30
Сообщения MAILER-DAEMON


1-1106203838
DmiSb
2005-01-20 09:50
2005.01.30
Печать через IE


3-1104229600
denis24
2004-12-28 13:26
2005.01.30
тип поля datetime





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский