annotate Data/Create Scripts/PostgreSQL.sql @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 DROP TABLE "Doctor"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 DROP TABLE "Patient"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 DROP TABLE "Person"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 CREATE TABLE "Person"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 --PersonID INTEGER PRIMARY KEY DEFAULT NEXTVAL('Seq'),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 "PersonID" SERIAL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 "FirstName" VARCHAR(50) NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 "LastName" VARCHAR(50) NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 "MiddleName" VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 "Gender" CHAR(1) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 INSERT INTO "Person" ("FirstName", "LastName", "Gender") VALUES ('John', 'Pupkin', 'M')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 INSERT INTO "Person" ("FirstName", "LastName", "Gender") VALUES ('Tester', 'Testerson', 'M')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 -- Doctor Table Extension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 CREATE TABLE "Doctor"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 "PersonID" INTEGER NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 "Taxonomy" VARCHAR(50) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 INSERT INTO "Doctor" ("PersonID", "Taxonomy") VALUES (1, 'Psychiatry')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 -- Patient Table Extension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 CREATE TABLE "Patient"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 "PersonID" INTEGER NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 "Diagnosis" VARCHAR(256) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 INSERT INTO "Patient" ("PersonID", "Diagnosis") VALUES (2, 'Hallucination with Paranoid Bugs'' Delirium of Persecution')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 CREATE OR REPLACE FUNCTION reverse(text) RETURNS text
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 AS $_$
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 DECLARE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 original alias for $1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 reverse_str text;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 i int4;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 reverse_str := '';
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 FOR i IN REVERSE LENGTH(original)..1 LOOP
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 reverse_str := reverse_str || substr(original,i,1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 END LOOP;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 RETURN reverse_str;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 END;$_$
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 LANGUAGE plpgsql IMMUTABLE;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 DROP TABLE "Parent"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 DROP TABLE "Child"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 DROP TABLE "GrandChild"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 CREATE TABLE "Parent" ("ParentID" int, "Value1" int)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 CREATE TABLE "Child" ("ParentID" int, "ChildID" int)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 CREATE TABLE "GrandChild" ("ParentID" int, "ChildID" int, "GrandChildID" int)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 DROP TABLE "LinqDataTypes"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 CREATE TABLE "LinqDataTypes"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 "ID" int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 "MoneyValue" decimal(10,4),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 "DateTimeValue" timestamp,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 "DateTimeValue2" timestamp,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 "BoolValue" boolean,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 "GuidValue" uuid,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 "BinaryValue" bytea NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 "SmallIntValue" smallint,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 "IntValue" int NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 "BigIntValue" bigint NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 DROP TABLE entity
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 CREATE TABLE entity
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 the_name character varying(255) NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 CONSTRAINT entity_name_key UNIQUE (the_name)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 CREATE OR REPLACE FUNCTION add_if_not_exists(p_name character varying)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 RETURNS void AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 $BODY$
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 insert into entity(the_name) values(p_name);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 EXCEPTION WHEN unique_violation THEN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 -- is exists, do nothing
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 $BODY$
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 LANGUAGE plpgsql;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 DROP TABLE "SequenceTest1"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 DROP TABLE "SequenceTest2"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 DROP TABLE "SequenceTest3"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 DROP SEQUENCE SequenceTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 CREATE SEQUENCE SequenceTestSeq INCREMENT 1 START 1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 DROP SEQUENCE "SequenceTest2_ID_seq"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 CREATE SEQUENCE "SequenceTest2_ID_seq" INCREMENT 1 START 1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 CREATE TABLE "SequenceTest1"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 "ID" INTEGER PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 "Value" VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 CREATE TABLE "SequenceTest2"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 "ID" INTEGER PRIMARY KEY DEFAULT NEXTVAL('"SequenceTest2_ID_seq"'),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 "Value" VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 CREATE TABLE "SequenceTest3"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 "ID" INTEGER PRIMARY KEY DEFAULT NEXTVAL('SequenceTestSeq'),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 "Value" VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 DROP TABLE "TestIdentity"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 DROP SEQUENCE "TestIdentity_ID_seq"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 CREATE SEQUENCE "TestIdentity_ID_seq" INCREMENT 1 START 1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 GO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 CREATE TABLE "TestIdentity" (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 "ID" INTEGER PRIMARY KEY DEFAULT NEXTVAL('"TestIdentity_ID_seq"')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 GO