annotate Data/Create Scripts/Firebird2.sql @ 9:1e85f66cf767 default tip

update bltoolkit
author nickolay
date Thu, 05 Apr 2018 20:53:26 +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 DROP PROCEDURE Person_SelectByKey; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 DROP PROCEDURE Person_SelectAll; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 DROP PROCEDURE Person_SelectByName; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 DROP PROCEDURE Person_Insert; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 DROP PROCEDURE Person_Insert_OutputParameter; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 DROP PROCEDURE Person_Update; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 DROP PROCEDURE Person_Delete; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 DROP PROCEDURE Patient_SelectAll; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 DROP PROCEDURE Patient_SelectByName; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 DROP PROCEDURE OutRefTest; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 DROP PROCEDURE OutRefEnumTest; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 DROP PROCEDURE Scalar_DataReader; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 DROP PROCEDURE Scalar_OutputParameter; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 DROP PROCEDURE Scalar_ReturnParameter; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 DROP TRIGGER CREATE_BinaryDataID; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 DROP TRIGGER CHANGE_BinaryData; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 DROP TRIGGER CREATE_PersonID; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 DROP TRIGGER CREATE_DataTypeTest; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 DROP GENERATOR DataTypeID; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 DROP GENERATOR PersonID; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 DROP GENERATOR TimestampGen; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 DROP VIEW PersonView; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 DROP TABLE Dual; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 DROP TABLE DataTypeTest; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 DROP TABLE BinaryData; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 DROP TABLE Doctor; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 DROP TABLE Patient; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 DROP TABLE Person; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 DROP EXTERNAL FUNCTION rtrim; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 DROP EXTERNAL FUNCTION ltrim; COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 DECLARE EXTERNAL FUNCTION ltrim
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 CSTRING(255) NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 RETURNS CSTRING(255) FREE_IT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 ENTRY_POINT 'IB_UDF_ltrim' MODULE_NAME 'ib_udf';
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 DECLARE EXTERNAL FUNCTION rtrim
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 CSTRING(255) NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 RETURNS CSTRING(255) FREE_IT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 ENTRY_POINT 'IB_UDF_rtrim' MODULE_NAME 'ib_udf';
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 /*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 Dual table FOR supporting queryies LIKE:
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 SELECT 1 AS id => SELECT 1 AS "id" *FROM Dual*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 */
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 CREATE TABLE Dual (Dummy VARCHAR(10));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 INSERT INTO Dual (Dummy) VALUES ('X');
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 -- Person Table
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 CREATE TABLE Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 PersonID INTEGER NOT NULL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 FirstName VARCHAR(50) CHARACTER SET UNICODE_FSS NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 LastName VARCHAR(50) CHARACTER SET UNICODE_FSS NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 Gender CHAR(1) NOT NULL CHECK (Gender in ('M', 'F', 'U', 'O'))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 );
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 CREATE GENERATOR PersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 CREATE GENERATOR TimestampGen;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 CREATE TRIGGER CREATE_PersonID FOR Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 BEFORE INSERT POSITION 0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 AS BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 NEW.PersonID = GEN_ID(PersonID, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 INSERT INTO Person (FirstName, LastName, Gender) VALUES ('John', 'Pupkin', 'M');
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 INSERT INTO Person (FirstName, LastName, Gender) VALUES ('Tester', 'Testerson', 'M');
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 -- Doctor Table Extension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 CREATE TABLE Doctor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 PersonID INTEGER NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 Taxonomy VARCHAR(50) NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 FOREIGN KEY (PersonID) REFERENCES Person (PersonID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 ON DELETE CASCADE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 INSERT INTO Doctor (PersonID, Taxonomy) VALUES (1, 'Psychiatry');
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 -- Patient Table Extension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 CREATE TABLE Patient
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 PersonID int NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 Diagnosis VARCHAR(256) NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 FOREIGN KEY (PersonID) REFERENCES Person (PersonID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 ON DELETE CASCADE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 );
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 INSERT INTO Patient (PersonID, Diagnosis) VALUES (2, 'Hallucination with Paranoid Bugs'' Delirium of Persecution');
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 -- Person_SelectByKey
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 CREATE PROCEDURE Person_SelectByKey(id INTEGER)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 PersonID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 Gender CHAR(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 SELECT PersonID, FirstName, LastName, MiddleName, Gender FROM Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 WHERE PersonID = :id
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 :PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 :FirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 :LastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 :MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 :Gender;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 -- Person_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 CREATE PROCEDURE Person_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 PersonID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 Gender CHAR(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154 FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 SELECT PersonID, FirstName, LastName, MiddleName, Gender FROM Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 :PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 :FirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 :LastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 :MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 :Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 DO SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 -- Person_SelectByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 CREATE PROCEDURE Person_SelectByName (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 in_FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 in_LastName VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 PersonID int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 Gender CHAR(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 FOR SELECT PersonID, FirstName, LastName, MiddleName, Gender FROM Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 WHERE FirstName LIKE :in_FirstName and LastName LIKE :in_LastName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 :PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 :FirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 :LastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 :MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 :Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 DO SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 -- Person_Insert
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 CREATE PROCEDURE Person_Insert(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 Gender CHAR(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 RETURNS (PersonID INTEGER)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 INSERT INTO Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 ( LastName, FirstName, MiddleName, Gender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 (:LastName, :FirstName, :MiddleName, :Gender);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 SELECT MAX(PersonID) FROM person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 INTO :PersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 -- Person_Insert_OutputParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 CREATE PROCEDURE Person_Insert_OutputParameter(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 Gender CHAR(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 RETURNS (PersonID INTEGER)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 INSERT INTO Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 ( LastName, FirstName, MiddleName, Gender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 (:LastName, :FirstName, :MiddleName, :Gender);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 SELECT max(PersonID) FROM person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 INTO :PersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 -- Person_Update
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 CREATE PROCEDURE Person_Update(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 PersonID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 Gender CHAR(1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 UPDATE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251 SET
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 LastName = :LastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 FirstName = :FirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254 MiddleName = :MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255 Gender = :Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 PersonID = :PersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 -- Person_Delete
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 CREATE PROCEDURE Person_Delete(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264 PersonID INTEGER
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 DELETE FROM Person WHERE PersonID = :PersonID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 -- Patient_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274 CREATE PROCEDURE Patient_SelectAll
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 PersonID int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278 LastName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 Gender CHAR(1),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 Diagnosis VARCHAR(256)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 Person.PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 FirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289 LastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291 Gender,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 Patient.Diagnosis
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 Patient, Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296 Patient.PersonID = Person.PersonID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 :PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 :FirstName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 :LastName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301 :MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302 :Gender,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 :Diagnosis
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 DO SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 -- Patient_SelectByName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 CREATE PROCEDURE Patient_SelectByName(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311 FirstName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 LastName VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 PersonID int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316 MiddleName VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 Gender CHAR(1),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318 Diagnosis VARCHAR(256)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 FOR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324 Person.PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325 MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 Gender,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 Patient.Diagnosis
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 Patient, Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330 WHERE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 Patient.PersonID = Person.PersonID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 and FirstName = :FirstName and LastName = :LastName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 INTO
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334 :PersonID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335 :MiddleName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336 :Gender,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 :Diagnosis
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338 DO SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 -- BinaryData Table
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 CREATE TABLE BinaryData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346 BinaryDataID INTEGER NOT NULL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347 Stamp INTEGER NOT NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348 Data BLOB NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349 );
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352 CREATE TRIGGER CREATE_BinaryDataID FOR BinaryData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 BEFORE INSERT POSITION 0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354 AS BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355 NEW.BinaryDataID = GEN_ID(PersonID, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 NEW.Stamp = GEN_ID(TimestampGen, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360 CREATE TRIGGER CHANGE_BinaryData FOR BinaryData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361 beFORe update
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362 AS BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363 NEW.Stamp = GEN_ID(TimestampGen, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 -- OutRefTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369 /*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370 Fake input parameters are used to "emulate" input/output parameters.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 Each inout parameter should be defined in RETURNS(...) section
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372 and allso have a "mirror" in input section, mirror name shoul be:
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
373 FdpDataProvider.InOutInputParameterPrefix + [parameter name]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
374 ex:
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
375 in_inputOutputID is input mirror FOR inout parameter inputOutputID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
376 */
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
377 CREATE PROCEDURE OutRefTest(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
378 ID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
379 in_inputOutputID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
380 str VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
381 in_inputOutputStr VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
382 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
383 RETURNS(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
384 inputOutputID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
385 inputOutputStr VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
386 outputID INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
387 outputStr VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
388 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
389 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
390 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
391 outputID = ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
392 inputOutputID = ID + in_inputOutputID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
393 outputStr = str;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
394 inputOutputStr = str || in_inputOutputStr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
395 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
396 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
397 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
398
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
399 -- OutRefEnumTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
400
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
401 CREATE PROCEDURE OutRefEnumTest(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
402 str VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
403 in_inputOutputStr VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
404 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
405 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
406 inputOutputStr VARCHAR(50),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
407 outputStr VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
408 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
409 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
410 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
411 outputStr = str;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
412 inputOutputStr = str || in_inputOutputStr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
413 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
414 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
415 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
416
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
417 -- ExecuteScalarTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
418
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
419 CREATE PROCEDURE Scalar_DataReader
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
420 RETURNS(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
421 intField INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
422 stringField VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
423 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
424 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
425 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
426 intField = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
427 stringField = '54321';
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
428 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
429 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
430 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
431
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
432 CREATE PROCEDURE Scalar_OutputParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
433 RETURNS (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
434 outputInt INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
435 outputString VARCHAR(50)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
436 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
437 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
438 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
439 outputInt = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
440 outputString = '54321';
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
441 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
442 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
443 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
444
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
445 /*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
446 "Return_Value" is the name for ReturnValue "emulating"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
447 may be changed: FdpDataProvider.ReturnParameterName
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
448 */
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
449 CREATE PROCEDURE Scalar_ReturnParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
450 RETURNS (Return_Value INTEGER)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
451 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
452 BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
453 Return_Value = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
454 SUSPEND;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
455 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
456 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
457
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
458 -- Data Types test
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
459
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
460 /*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
461 Data definitions according to:
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
462 http://www.firebirdsql.org/manual/migration-mssql-data-types.html
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
463
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
464 BUT! BLOB is ised for BINARY data! not CHAR
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
465 */
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
466
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
467 CREATE TABLE DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
468 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
469 DataTypeID INTEGER NOT NULL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
470 Binary_ BLOB,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
471 Boolean_ CHAR(1),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
472 Byte_ SMALLINT,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
473 Bytes_ BLOB,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
474 CHAR_ CHAR(1),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
475 DateTime_ TIMESTAMP,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
476 Decimal_ DECIMAL(10, 2),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
477 Double_ DOUBLE PRECISION,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
478 Guid_ CHAR(38),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
479 Int16_ SMALLINT,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
480 Int32_ INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
481 Int64_ NUMERIC(11),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
482 Money_ DECIMAL(18, 4),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
483 SByte_ SMALLINT,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
484 Single_ FLOAT,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
485 Stream_ BLOB,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
486 String_ VARCHAR(50) CHARACTER SET UNICODE_FSS,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
487 UInt16_ SMALLINT,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
488 UInt32_ INTEGER,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
489 UInt64_ NUMERIC(11),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
490 Xml_ CHAR(1000)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
491 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
492 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
493
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
494 CREATE GENERATOR DataTypeID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
495 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
496
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
497 CREATE TRIGGER CREATE_DataTypeTest FOR DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
498 BEFORE INSERT POSITION 0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
499 AS BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
500 NEW.DataTypeID = GEN_ID(DataTypeID, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
501 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
502 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
503
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
504 INSERT INTO DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
505 (Binary_, Boolean_, Byte_, Bytes_, CHAR_, DateTime_, Decimal_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
506 Double_, Guid_, Int16_, Int32_, Int64_, Money_, SByte_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
507 Single_, Stream_, String_, UInt16_, UInt32_, UInt64_, Xml_)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
508 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
509 ( NULL, NULL, NULL, NULL, NULL, NULL, NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
510 NULL, NULL, NULL, NULL, NULL, NULL, NULL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
511 NULL, NULL, NULL, NULL, NULL, NULL, NULL);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
512 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
513
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
514 INSERT INTO DataTypeTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
515 (Binary_, Boolean_, Byte_, Bytes_, CHAR_, DateTime_, Decimal_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
516 Double_, Guid_, Int16_, Int32_, Int64_, Money_, SByte_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
517 Single_, Stream_, String_, UInt16_, UInt32_, UInt64_,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
518 Xml_)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
519 VALUES
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
520 ('dddddddddddddddd', 1, 255,'dddddddddddddddd', 'B', 'NOW', 12345.67,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
521 1234.567, 'dddddddddddddddddddddddddddddddd', 32767, 32768, 1000000, 12.3456, 127,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
522 1234.123, 'dddddddddddddddd', 'string', 32767, 32768, 200000000,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
523 '<root><element strattr="strvalue" intattr="12345"/></root>');
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
524 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
525
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
526
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
527
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
528 DROP TABLE Parent COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
529 DROP TABLE Child COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
530 DROP TABLE GrandChild COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
531
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
532 CREATE TABLE Parent (ParentID int, Value1 int) COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
533 CREATE TABLE Child (ParentID int, ChildID int) COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
534 CREATE TABLE GrandChild (ParentID int, ChildID int, GrandChildID int) COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
535
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
536
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
537 DROP TABLE LinqDataTypes COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
538
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
539 CREATE TABLE LinqDataTypes
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
540 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
541 ID int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
542 MoneyValue decimal(10,4),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
543 DateTimeValue timestamp,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
544 DateTimeValue2 timestamp,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
545 BoolValue char(1),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
546 GuidValue char(38),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
547 BinaryValue blob,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
548 SmallIntValue smallint,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
549 IntValue int,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
550 BigIntValue bigint
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
551 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
552 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
553
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
554 DROP GENERATOR SequenceTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
555 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
556
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
557 CREATE GENERATOR SequenceTestSeq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
558 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
559
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
560 DROP TABLE SequenceTest COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
561
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
562 CREATE TABLE SequenceTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
563 (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
564 ID int NOT NULL PRIMARY KEY,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
565 Value_ VARCHAR(50) NOT NULL
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
566 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
567 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
568
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
569
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
570 DROP TRIGGER CREATE_ID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
571 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
572
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
573 DROP GENERATOR TestIdentityID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
574 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
575
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
576 DROP TABLE TestIdentity
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
577 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
578
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
579 CREATE TABLE TestIdentity (
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
580 ID INTEGER NOT NULL PRIMARY KEY
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
581 )
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
582 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
583
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
584 CREATE GENERATOR TestIdentityID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
585 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
586
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
587 CREATE TRIGGER CREATE_ID FOR TestIdentity
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
588 BEFORE INSERT POSITION 0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
589 AS BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
590 NEW.ID = GEN_ID(TestIdentityID, 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
591 END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
592 COMMIT;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
593
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
594
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
595 CREATE VIEW PersonView
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
596 AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
597 SELECT * FROM Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
598 COMMIT;