annotate Data/Create Scripts/Oracle.sql @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 -- Person Table
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 DROP SEQUENCE PersonSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 DROP TABLE Doctor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 DROP TABLE Patient
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 DROP TABLE Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 DROP SEQUENCE BinaryDataSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 DROP TABLE BinaryData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 DROP SEQUENCE DataTypeTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 DROP TABLE DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 DROP TABLE GrandChild
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 DROP TABLE Child
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 DROP TABLE Parent
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 DROP TABLE LinqDataTypes
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 DROP SEQUENCE SequenceTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 DROP TABLE SequenceTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 DROP TABLE "STG_TRADE_INFORMATION"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 DROP table t_test_user_contract
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 DROP table t_test_user
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 DROP sequence sq_test_user
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 DROP sequence sq_test_user_contract
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 CREATE SEQUENCE PersonSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 CREATE TABLE Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 ( PersonID NUMBER NOT NULL PRIMARY KEY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 , Firstname VARCHAR2(50) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 , Lastname VARCHAR2(50) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 , Middlename VARCHAR2(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 , Gender CHAR(1) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 , CONSTRAINT Ck_Person_Gender CHECK (Gender IN ('M', 'F', 'U', 'O'))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 -- Insert Trigger for Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 CREATE OR REPLACE TRIGGER Person_Add
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 BEFORE INSERT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 ON Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 FOR EACH ROW
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 PersonSeq.NEXTVAL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 :NEW.PersonID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 dual;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 -- Doctor Table Extension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 CREATE TABLE Doctor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 ( PersonID NUMBER NOT NULL PRIMARY KEY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 , Taxonomy NVARCHAR2(50) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 , CONSTRAINT Fk_Doctor_Person FOREIGN KEY (PersonID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 REFERENCES Person (PersonID) ON DELETE CASCADE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 -- Patient Table Extension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 CREATE TABLE Patient
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 ( PersonID NUMBER NOT NULL PRIMARY KEY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 , Diagnosis NVARCHAR2(256) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 , CONSTRAINT Fk_Patient_Person FOREIGN KEY (PersonID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 REFERENCES Person (PersonID) ON DELETE CASCADE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 -- Sample data for Person/Doctor/Patient
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 INSERT INTO Person (FirstName, LastName, Gender) VALUES ('John', 'Pupkin', 'M')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 INSERT INTO Person (FirstName, LastName, Gender) VALUES ('Tester', 'Testerson', 'M')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 INSERT INTO Doctor (PersonID, Taxonomy) VALUES (PersonSeq.CURRVAL, 'Psychiatry')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 INSERT INTO Patient (PersonID, Diagnosis) VALUES (PersonSeq.CURRVAL, 'Hallucination with Paranoid Bugs'' Delirium of Persecution')
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 -- Person_Delete
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 PROCEDURE Person_Delete(pPersonID IN NUMBER) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 DELETE FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 PersonID = pPersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 -- Person_Insert
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 PROCEDURE Person_Insert_OutputParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 ( pFirstName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 , pLastName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 , pMiddleName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 , pGender IN CHAR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 , pPersonID OUT NUMBER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 INSERT INTO Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 ( LastName, FirstName, MiddleName, Gender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 (pLastName, pFirstName, pMiddleName, pGender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 RETURNING
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 PersonID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 pPersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 FUNCTION Person_Insert
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 ( pFirstName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 , pLastName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 , pMiddleName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 , pGender IN CHAR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 lPersonID NUMBER;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 INSERT INTO Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 ( LastName, FirstName, MiddleName, Gender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154 (pLastName, pFirstName, pMiddleName, pGender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 RETURNING
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 PersonID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 lPersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 PersonID, Firstname, Lastname, Middlename, Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 PersonID = lPersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 -- Person_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 FUNCTION Person_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 PersonID, Firstname, Lastname, Middlename, Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 Person;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 -- Person_SelectAllByGender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 FUNCTION Person_SelectAllByGender(pGender IN CHAR)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 PersonID, Firstname, Lastname, Middlename, Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 Gender = pGender;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 -- Person_SelectByKey
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 FUNCTION Person_SelectByKey(pID IN NUMBER)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 PersonID, Firstname, Lastname, Middlename, Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 PersonID = pID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 -- Person_SelectByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 FUNCTION Person_SelectByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 ( pFirstName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 , pLastName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239 PersonID, Firstname, Lastname, Middlename, Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 FirstName = pFirstName AND LastName = pLastName;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 -- Person_SelectListByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 FUNCTION Person_SelectListByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 ( pFirstName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254 , pLastName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 PersonID, Firstname, Lastname, Middlename, Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 FirstName LIKE pFirstName AND LastName LIKE pLastName;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 PROCEDURE Person_Update
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273 ( pPersonID IN NUMBER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274 , pFirstName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 , pLastName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 , pMiddleName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 , pGender IN CHAR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 UPDATE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 SET
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 LastName = pLastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284 FirstName = pFirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 MiddleName = pMiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 Gender = pGender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 PersonID = pPersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 -- Patient_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 FUNCTION Patient_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301 Person.*, Patient.Diagnosis
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 Patient, Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305 Patient.PersonID = Person.PersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 -- Patient_SelectByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 FUNCTION Patient_SelectByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316 ( pFirstName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 , pLastName IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 RETURN SYS_REFCURSOR IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324 Person.*, Patient.Diagnosis
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 Patient, Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328 Patient.PersonID = Person.PersonID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 AND FirstName = pFirstName AND LastName = pLastName;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335 -- BinaryData Table
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 CREATE SEQUENCE BinaryDataSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 CREATE TABLE BinaryData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341 ( BinaryDataID NUMBER NOT NULL PRIMARY KEY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 , Stamp TIMESTAMP DEFAULT SYSDATE NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343 , Data BLOB NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347 -- Insert Trigger for Binarydata
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349 CREATE OR REPLACE TRIGGER BinaryData_Add
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350 BEFORE INSERT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351 ON BinaryData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352 FOR EACH ROW
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355 BinaryDataSeq.NEXTVAL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357 :NEW.BinaryDataID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359 dual;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363 -- OutRefTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366 PROCEDURE OutRefTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 ( pID IN NUMBER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368 , pOutputID OUT NUMBER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369 , pInputOutputID IN OUT NUMBER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370 , pStr IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 , pOutputStr OUT NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372 , pInputOutputStr IN OUT NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
373 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
374 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
375 pOutputID := pID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
376 pInputOutputID := pID + pInputOutputID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
377 pOutputStr := pStr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
378 pInputOutputStr := pStr || pInputOutputStr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
379 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
380 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
381
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
382 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
383 PROCEDURE OutRefEnumTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
384 ( pStr IN NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
385 , pOutputStr OUT NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
386 , pInputOutputStr IN OUT NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
387 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
388 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
389 pOutputStr := pStr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
390 pInputOutputStr := pStr || pInputOutputStr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
391 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
392 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
393
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
394 -- ArrayTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
395
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
396 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
397 PROCEDURE ArrayTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
398 ( pIntArray IN DBMS_UTILITY.NUMBER_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
399 , pOutputIntArray OUT DBMS_UTILITY.NUMBER_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
400 , pInputOutputIntArray IN OUT DBMS_UTILITY.NUMBER_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
401 , pStrArray IN DBMS_UTILITY.NAME_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
402 , pOutputStrArray OUT DBMS_UTILITY.NAME_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
403 , pInputOutputStrArray IN OUT DBMS_UTILITY.NAME_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
404 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
405 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
406 pOutputIntArray := pIntArray;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
407
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
408 FOR i IN pIntArray.FIRST..pIntArray.LAST LOOP
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
409 pInputOutputIntArray(i) := pInputOutputIntArray(i) + pIntArray(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
410 END LOOP;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
411
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
412 pOutputStrArray := pStrArray;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
413
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
414 FOR i IN pStrArray.FIRST..pStrArray.LAST LOOP
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
415 pInputOutputStrArray(i) := pInputOutputStrArray(i) || pStrArray(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
416 END LOOP;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
417 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
418 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
419
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
420 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
421 PROCEDURE ScalarArray
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
422 ( pOutputIntArray OUT DBMS_UTILITY.NUMBER_ARRAY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
423 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
424 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
425 FOR i IN 1..5 LOOP
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
426 pOutputIntArray(i) := i;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
427 END LOOP;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
428 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
429 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
430
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
431 -- ResultSetTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
432
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
433 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
434 PROCEDURE RESULTSETTEST
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
435 ( mr OUT SYS_REFCURSOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
436 , sr OUT SYS_REFCURSOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
437 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
438 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
439 OPEN mr FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
440 SELECT 1 as MasterID FROM dual
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
441 UNION SELECT 2 as MasterID FROM dual;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
442 OPEN sr FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
443 SELECT 4 SlaveID, 1 as MasterID FROM dual
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
444 UNION SELECT 5 SlaveID, 2 as MasterID FROM dual
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
445 UNION SELECT 6 SlaveID, 2 as MasterID FROM dual
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
446 UNION SELECT 7 SlaveID, 1 as MasterID FROM dual;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
447 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
448 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
449
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
450 -- ExecuteScalarTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
451
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
452 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
453 FUNCTION Scalar_DataReader
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
454 RETURN SYS_REFCURSOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
455 IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
456 retCursor SYS_REFCURSOR;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
457 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
458 OPEN retCursor FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
459 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
460 12345 intField, '54321' stringField
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
461 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
462 DUAL;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
463 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
464 retCursor;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
465 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
466 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
467
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
468 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
469 PROCEDURE Scalar_OutputParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
470 ( pOutputInt OUT BINARY_INTEGER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
471 , pOutputString OUT NVARCHAR2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
472 ) IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
473 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
474 pOutputInt := 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
475 pOutputString := '54321';
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
476 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
477 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
478
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
479 CREATE OR REPLACE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
480 FUNCTION Scalar_ReturnParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
481 RETURN BINARY_INTEGER IS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
482 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
483 RETURN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
484 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
485 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
486 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
487
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
488 -- Data Types test
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
489
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
490 CREATE SEQUENCE DataTypeTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
491 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
492
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
493 CREATE TABLE DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
494 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
495 DataTypeID INTEGER NOT NULL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
496 Binary_ RAW(50) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
497 Boolean_ NUMBER(1,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
498 Byte_ NUMBER(3,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
499 Bytes_ BLOB NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
500 Char_ NCHAR NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
501 DateTime_ DATE NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
502 Decimal_ NUMBER(19,5) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
503 Double_ DOUBLE PRECISION NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
504 Guid_ RAW(16) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
505 Int16_ NUMBER(5,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
506 Int32_ NUMBER(10,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
507 Int64_ NUMBER(20,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
508 Money_ NUMBER NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
509 SByte_ NUMBER(3,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
510 Single_ FLOAT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
511 Stream_ BLOB NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
512 String_ NVARCHAR2(50) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
513 UInt16_ NUMBER(5,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
514 UInt32_ NUMBER(10,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
515 UInt64_ NUMBER(20,0) NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
516 Xml_ XMLTYPE NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
517 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
518 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
519
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
520 -- Insert Trigger for DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
521
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
522 CREATE OR REPLACE TRIGGER DataTypeTest_Add
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
523 BEFORE INSERT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
524 ON DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
525 FOR EACH ROW
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
526 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
527 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
528 DataTypeTestSeq.NEXTVAL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
529 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
530 :NEW.DataTypeID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
531 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
532 dual;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
533 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
534 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
535
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
536 INSERT INTO DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
537 (Binary_, Boolean_, Byte_, Bytes_, Char_, DateTime_, Decimal_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
538 Double_, Guid_, Int16_, Int32_, Int64_, Money_, SByte_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
539 Single_, Stream_, String_, UInt16_, UInt32_, UInt64_, Xml_)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
540 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
541 ( NULL, NULL, NULL, NULL, NULL, NULL, NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
542 NULL, NULL, NULL, NULL, NULL, NULL, NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
543 NULL, NULL, NULL, NULL, NULL, NULL, NULL)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
544 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
545
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
546 INSERT INTO DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
547 (Binary_, Boolean_, Byte_, Bytes_, Char_, DateTime_, Decimal_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
548 Double_, Guid_, Int16_, Int32_, Int64_, Money_, SByte_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
549 Single_, Stream_, String_, UInt16_, UInt32_, UInt64_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
550 Xml_)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
551 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
552 (SYS_GUID(), 1, 255, SYS_GUID(), 'B', SYSDATE, 12345.67,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
553 1234.567, SYS_GUID(), 32767, 32768, 1000000, 12.3456, 127,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
554 1234.123, SYS_GUID(), 'string', 32767, 32768, 200000000,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
555 XMLTYPE('<root><element strattr="strvalue" intattr="12345"/></root>'))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
556 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
557
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
558
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
559
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
560 CREATE TABLE Parent (ParentID int, Value1 int)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
561 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
562 CREATE TABLE Child (ParentID int, ChildID int)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
563 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
564 CREATE TABLE GrandChild (ParentID int, ChildID int, GrandChildID int)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
565 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
566
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
567
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
568 CREATE TABLE LinqDataTypes
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
569 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
570 ID int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
571 MoneyValue decimal(10,4),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
572 DateTimeValue timestamp,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
573 DateTimeValue2 timestamp,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
574 BoolValue smallint,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
575 GuidValue raw(16),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
576 BinaryValue blob NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
577 SmallIntValue smallint,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
578 IntValue int NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
579 BigIntValue number(20,0) NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
580 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
581 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
582
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
583 CREATE SEQUENCE SequenceTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
584 MINVALUE 1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
585 START WITH 1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
586 INCREMENT BY 1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
587 CACHE 10
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
588 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
589
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
590 CREATE TABLE SequenceTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
591 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
592 ID int NOT NULL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
593 Value VARCHAR2(50) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
594 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
595 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
596
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
597 CREATE TABLE "STG_TRADE_INFORMATION"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
598 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
599 "STG_TRADE_ID" NUMBER NOT NULL ENABLE,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
600 "STG_TRADE_VERSION" NUMBER NOT NULL ENABLE,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
601 "INFORMATION_TYPE_ID" NUMBER NOT NULL ENABLE,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
602 "INFORMATION_TYPE_NAME" VARCHAR2(50 BYTE),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
603 "VALUE" VARCHAR2(4000 BYTE),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
604 "VALUE_AS_INTEGER" NUMBER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
605 "VALUE_AS_DATE" DATE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
606 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
607 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
608
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
609
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
610 create table t_test_user
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
611 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
612 user_id number primary key,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
613 name varchar2(255) not null unique
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
614 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
615 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
616
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
617 create table t_test_user_contract
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
618 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
619 user_contract_id number primary key,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
620 user_id number not null references t_test_user on delete cascade,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
621 contract_no number not null,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
622 name varchar2(255) not null,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
623 unique (user_id, contract_no)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
624 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
625 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
626
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
627 create sequence sq_test_user
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
628 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
629 create sequence sq_test_user_contract
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
630 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
631
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
632
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
633 DROP SEQUENCE TestIdentitySeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
634 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
635 DROP TABLE TestIdentity
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
636 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
637
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
638 CREATE TABLE TestIdentity (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
639 ID NUMBER NOT NULL PRIMARY KEY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
640 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
641 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
642
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
643 CREATE SEQUENCE TestIdentitySeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
644 /
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
645
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
646 CREATE OR REPLACE TRIGGER TestIdentity_Add
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
647 BEFORE INSERT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
648 ON TestIdentity
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
649 FOR EACH ROW
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
650 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
651 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
652 TestIdentitySeq.NEXTVAL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
653 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
654 :NEW.ID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
655 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
656 dual;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
657 END;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
658 /