· 7 years ago · Nov 11, 2018, 06:20 PM
1CREATE TABLE hst0065 (
2 code numeric NOT NULL,
3 name varchar(255)
4) ;
5COMMENT ON TABLE hst0065 IS E'Справочник типов полиÑов';
6COMMENT ON COLUMN hst0065.name IS E'Ðазвание типа полиÑа';
7COMMENT ON COLUMN hst0065.code IS E'Код типа полиÑа';
8ALTER TABLE hst0065 ADD PRIMARY KEY (code);
9
10CREATE TABLE hst0412 (
11 id numeric NOT NULL,
12 name varchar(100) NOT NULL,
13 type smallint NOT NULL,
14 mo varchar(12) NOT NULL,
15 description varchar(300),
16 dateannulment timestamp,
17 isworking smallint NOT NULL DEFAULT 1,
18 version varchar(15) NOT NULL DEFAULT '1.0',
19 patientmaxweight real NOT NULL DEFAULT 0.0
20) ;
21COMMENT ON TABLE hst0412 IS E'Справочник оборудованиÑ';
22COMMENT ON COLUMN hst0412.id IS E'Идентификатор оборудованиÑ';
23COMMENT ON COLUMN hst0412.isworking IS E'ИÑправноÑть оборудованиÑ. 1 - иÑправно; 0 - неиÑправно.';
24COMMENT ON COLUMN hst0412.name IS E'Ðаименование оборудованиÑ';
25COMMENT ON COLUMN hst0412.mo IS E'МедицинÑÐºÐ°Ñ Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ, которому принадлежит оборудование';
26COMMENT ON COLUMN hst0412.type IS E'Тип оборудованиÑ';
27COMMENT ON COLUMN hst0412.patientmaxweight IS E'МакÑимальный Ð²ÐµÑ Ð¿Ð°Ñ†Ð¸ÐµÐ½Ñ‚Ð°, в килограммах';
28COMMENT ON COLUMN hst0412.description IS E'ОпиÑание';
29COMMENT ON COLUMN hst0412.version IS E'ВерÑÐ¸Ñ Ñправочника';
30COMMENT ON COLUMN hst0412.dateannulment IS E'Дата ÑпиÑаниÑ';
31ALTER TABLE hst0412 ADD PRIMARY KEY (id);
32
33ALTER TABLE hst0412 ADD CONSTRAINT fk_hst0412_mo FOREIGN KEY (mo) REFERENCES mis_sp_mu(medicalidmu) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE;
34
35ALTER TABLE hst0412 ADD CONSTRAINT fk_hst0412_type FOREIGN KEY (type) REFERENCES hst0224(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE;
36
37DROP TRIGGER IF EXISTS ins_hst0412_trigger ON hst0412 CASCADE;
38CREATE OR REPLACE FUNCTION trigger_fct_ins_hst0412_trigger() RETURNS trigger AS $BODY$
39BEGIN
40NEW.ID := nextval('seq_hst0412');
41RETURN NEW;
42END
43$BODY$
44 LANGUAGE 'plpgsql';
45
46CREATE TRIGGER ins_hst0412_trigger
47 BEFORE INSERT ON hst0412 FOR EACH ROW
48 EXECUTE PROCEDURE trigger_fct_ins_hst0412_trigger();
49
50CREATE SEQUENCE seq_hst0412 INCREMENT 1 MINVALUE 1 NO MAXVALUE START 75 CACHE 20 CYCLE;