diff Data/Create Scripts/Access.sql @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Data/Create Scripts/Access.sql	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,281 @@
+DROP Procedure Person_SelectByKey
+GO
+DROP Procedure Person_SelectAll
+GO
+DROP Procedure Person_SelectByName
+GO
+DROP Procedure Person_SelectListByName
+GO
+DROP Procedure Person_Insert
+GO
+DROP Procedure Person_Update
+GO
+DROP Procedure Person_Delete
+GO
+DROP Procedure Patient_SelectAll
+GO
+DROP Procedure Patient_SelectByName
+GO
+DROP Procedure Scalar_DataReader
+GO
+DROP TABLE Dual
+GO
+DROP TABLE BinaryData
+GO
+DROP TABLE DataTypeTest
+GO
+DROP TABLE Doctor
+GO
+DROP TABLE Patient
+GO
+DROP TABLE Person
+GO
+
+CREATE TABLE Person (
+	PersonID                Int IDENTITY,
+	FirstName               Text(50) NOT NULL,
+	LastName                Text(50) NOT NULL,
+	MiddleName              Text(50),
+	Gender                  Text(1) NOT NULL,
+
+	CONSTRAINT PK_Peson PRIMARY KEY (PersonID)
+)
+GO
+
+CREATE TABLE Doctor (
+	PersonID                Int NOT NULL,
+	Taxonomy                Text(50) NOT NULL,
+
+	CONSTRAINT OK_Doctor PRIMARY KEY (PersonID)
+)
+GO
+
+CREATE TABLE Patient (
+	PersonID                Int NOT NULL,
+	Diagnosis               Text(255) NOT NULL,
+
+	CONSTRAINT PK_Patient PRIMARY KEY (PersonID)
+)
+GO
+
+ALTER TABLE Doctor
+	ADD CONSTRAINT PersonDoctor FOREIGN KEY (PersonID) REFERENCES Person ON UPDATE CASCADE ON DELETE CASCADE;
+GO
+
+ALTER TABLE Patient
+	ADD CONSTRAINT PersonPatient FOREIGN KEY (PersonID) REFERENCES Person ON UPDATE CASCADE ON DELETE CASCADE;
+GO
+
+CREATE TABLE BinaryData (
+	BinaryDataID            AutoIncrement,
+	Data                    Image NOT NULL,
+
+	CONSTRAINT PrimaryKey PRIMARY KEY (BinaryDataID)
+);
+GO
+
+CREATE TABLE DataTypeTest (
+	DataTypeID              AutoIncrement,
+	Binary_                 Image,
+	Boolean_                Long,
+	Byte_                   Byte DEFAULT 0,
+	Bytes_                  Image,
+	Char_                   Text(1),
+	DateTime_               DateTime,
+	Decimal_                Currency DEFAULT 0,
+	Double_                 Double DEFAULT 0,
+	Guid_                   Uniqueidentifier,
+	Int16_                  SmallInt DEFAULT 0,
+	Int32_                  Long DEFAULT 0,
+	Int64_                  Long DEFAULT 0,
+	Money_                  Currency DEFAULT 0,
+	SByte_                  Byte DEFAULT 0,
+	Single_                 Single DEFAULT 0,
+	Stream_                 Image,
+	String_                 Text(50) WITH COMP,
+	UInt16_                 SmallInt DEFAULT 0,
+	UInt32_                 Long DEFAULT 0,
+	UInt64_                 Long DEFAULT 0,    
+	Xml_                    Text WITH COMP,
+
+	CONSTRAINT PrimaryKey PRIMARY KEY (DataTypeID)
+);
+GO
+
+CREATE TABLE Dual (Dummy Text(10));
+GO
+
+INSERT INTO Person (FirstName, LastName, Gender) VALUES ("John",   "Pupkin",    "M")
+GO
+INSERT INTO Person (FirstName, LastName, Gender) VALUES ("Tester", "Testerson", "M")
+GO
+INSERT INTO Doctor (PersonID, Taxonomy)   VALUES (1, "Psychiatry")
+GO
+INSERT INTO Patient (PersonID, Diagnosis) VALUES (2, "Hallucination with Paranoid Bugs' Delirium of Persecution")
+GO
+
+INSERT INTO DataTypeTest
+	(Binary_, Boolean_,   Byte_,  Bytes_,  Char_,  DateTime_, Decimal_,
+	 Double_,    Guid_,  Int16_,  Int32_,  Int64_,    Money_,   SByte_,
+	 Single_,  Stream_, String_, UInt16_, UInt32_,   UInt64_,     Xml_)
+VALUES
+	(   NULL,     NULL,    NULL,    NULL,    NULL,      NULL,     NULL,
+	    NULL,     NULL,    NULL,    NULL,    NULL,      NULL,     NULL,
+	    NULL,     NULL,    NULL,    NULL,    NULL,      NULL,     NULL)
+GO
+
+INSERT INTO DataTypeTest
+	(Binary_, Boolean_,   Byte_,  Bytes_,  Char_,  DateTime_, Decimal_,
+	 Double_,    Guid_,  Int16_,  Int32_,  Int64_,    Money_,   SByte_,
+	 Single_,  Stream_, String_, UInt16_, UInt32_,   UInt64_,
+	 Xml_)
+VALUES
+	(1,        True,      255,  1,         "B",     Now(), 12345.67,
+	1234.567,     1,    32767,  32768, 1000000,   12.3456,      127,
+	1234.123,     "12345678", "string",  32767,   32768, 2000000000,
+	"<root><element strattr='strvalue' intattr='12345'/></root>")
+GO
+
+INSERT INTO  Dual (Dummy) VALUES ('X')
+GO
+
+CREATE Procedure Person_SelectByKey(
+	[@id] Long)
+AS
+SELECT * FROM Person WHERE PersonID = [@id];
+GO
+
+CREATE Procedure Person_SelectAll
+AS
+SELECT * FROM Person;
+GO
+
+CREATE Procedure Person_SelectByName(
+	[@firstName] Text(50),
+	[@lastName]  Text(50))
+AS
+SELECT
+	*
+FROM
+	Person
+WHERE
+	FirstName = [@firstName] AND LastName = [@lastName];
+GO
+
+CREATE Procedure Person_SelectListByName(
+	[@firstName] Text(50),
+	[@lastName]  Text(50))
+AS
+SELECT
+	*
+FROM
+	Person
+WHERE
+	FirstName like [@firstName] AND LastName like [@lastName];
+GO
+
+CREATE Procedure Person_Insert(
+	[@FirstName]  Text(50),
+	[@MiddleName] Text(50),
+	[@LastName]   Text(50),
+	[@Gender]     Text(1))
+AS
+INSERT INTO Person
+	(FirstName, MiddleName, LastName, Gender)
+VALUES
+	([@FirstName], [@MiddleName], [@LastName], [@Gender]);
+GO
+
+CREATE Procedure Person_Update(
+	[@id]         Long,
+	[@PersonID]   Long,
+	[@FirstName]  Text(50),
+	[@MiddleName] Text(50),
+	[@LastName]   Text(50),
+	[@Gender]     Text(1))
+AS
+UPDATE
+	Person
+SET
+	LastName   = [@LastName],
+	FirstName  = [@FirstName],
+	MiddleName = [@MiddleName],
+	Gender     = [@Gender]
+WHERE
+	PersonID = [@id];
+GO
+
+CREATE Procedure Person_Delete(
+	[@PersonID] Long)
+AS
+DELETE FROM Person WHERE PersonID = [@PersonID];
+GO
+
+CREATE Procedure Patient_SelectAll
+AS
+SELECT
+	Person.*, Patient.Diagnosis
+FROM
+	Patient, Person
+WHERE
+	Patient.PersonID = Person.PersonID;
+GO
+
+CREATE Procedure Patient_SelectByName(
+	[@firstName] Text(50),
+	[@lastName]  Text(50))
+AS
+SELECT
+	Person.*, Patient.Diagnosis
+FROM
+	Patient, Person
+WHERE
+	Patient.PersonID = Person.PersonID
+	AND FirstName = [@firstName] AND LastName = [@lastName];
+GO
+
+CREATE Procedure Scalar_DataReader
+AS
+SELECT 12345 AS intField, "54321" AS stringField;
+GO
+
+
+DROP TABLE Parent
+GO
+DROP TABLE Child
+GO
+DROP TABLE GrandChild
+GO
+
+CREATE TABLE Parent     (ParentID int, Value1 int NULL)
+GO
+CREATE TABLE Child      (ParentID int, ChildID int)
+GO
+CREATE TABLE GrandChild (ParentID int, ChildID int, GrandChildID int)
+GO
+DROP TABLE LinqDataTypes
+GO
+
+CREATE TABLE LinqDataTypes
+(
+	ID             int,
+	MoneyValue     decimal(10,4),
+	DateTimeValue  datetime,
+	DateTimeValue2 datetime,
+	BoolValue      bit,
+	GuidValue      uniqueidentifier,
+	BinaryValue    OleObject NULL,
+	SmallIntValue  smallint,
+	IntValue       int       NULL,
+	BigIntValue    long      NULL
+)
+GO
+
+DROP TABLE TestIdentity
+GO
+
+CREATE TABLE TestIdentity (
+	ID Int IDENTITY,
+	CONSTRAINT PK_TestIdentity PRIMARY KEY (ID)
+)
+GO