diff Data/Create Scripts/Sybase.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/Sybase.sql	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,475 @@
+IF OBJECT_ID('dbo.Doctor') IS NOT NULL
+BEGIN DROP TABLE Doctor END
+GO
+
+IF OBJECT_ID('dbo.Patient') IS NOT NULL
+BEGIN DROP TABLE Patient END
+GO
+
+-- Person Table
+
+IF OBJECT_ID('dbo.Person') IS NOT NULL
+BEGIN DROP TABLE Person END
+GO
+
+CREATE TABLE Person
+(
+	PersonID   int          IDENTITY,
+	FirstName  nvarchar(50) NOT NULL,
+	LastName   nvarchar(50) NOT NULL,
+	MiddleName nvarchar(50)     NULL,
+	Gender     char(1)      NOT NULL,
+	CONSTRAINT PK_Person PRIMARY KEY CLUSTERED (PersonID)
+)
+GO
+
+INSERT INTO Person (FirstName, LastName, Gender) VALUES ('John',   'Pupkin',    'M')
+GO
+INSERT INTO Person (FirstName, LastName, Gender) VALUES ('Tester', 'Testerson', 'M')
+GO
+
+-- Doctor Table Extension
+
+CREATE TABLE Doctor
+(
+	PersonID int          NOT NULL,
+	Taxonomy nvarchar(50) NOT NULL,
+	CONSTRAINT PK_Doctor        PRIMARY KEY CLUSTERED (PersonID),
+	CONSTRAINT FK_Doctor_Person FOREIGN KEY (PersonID)
+		REFERENCES Person(PersonID)
+)
+GO
+
+INSERT INTO Doctor (PersonID, Taxonomy) VALUES (1, 'Psychiatry')
+GO
+
+-- Patient Table Extension
+
+CREATE TABLE Patient
+(
+	PersonID  int           NOT NULL,
+	Diagnosis nvarchar(256) NOT NULL,
+	CONSTRAINT PK_Patient        PRIMARY KEY CLUSTERED (PersonID),
+	CONSTRAINT FK_Patient_Person FOREIGN KEY (PersonID)
+		REFERENCES Person (PersonID)
+)
+GO
+
+INSERT INTO Patient (PersonID, Diagnosis) VALUES (2, 'Hallucination with Paranoid Bugs'' Delirium of Persecution')
+GO
+
+-- Person_SelectByKey
+
+IF OBJECT_ID('Person_SelectByKey') IS NOT NULL
+BEGIN DROP Procedure Person_SelectByKey END
+GO
+
+CREATE Procedure Person_SelectByKey
+	@id int
+AS
+
+SELECT * FROM Person WHERE PersonID = @id
+
+GO
+
+GRANT EXEC ON Person_SelectByKey TO PUBLIC
+GO
+
+-- Person_SelectAll
+
+IF OBJECT_ID('Person_SelectAll') IS NOT NULL
+BEGIN DROP Procedure Person_SelectAll END
+GO
+
+CREATE Procedure Person_SelectAll
+AS
+
+SELECT * FROM Person
+
+GO
+
+GRANT EXEC ON Person_SelectAll TO PUBLIC
+GO
+
+-- Person_SelectByName
+
+IF OBJECT_ID('Person_SelectByName') IS NOT NULL
+BEGIN DROP Procedure Person_SelectByName END
+GO
+
+CREATE Procedure Person_SelectByName
+	@firstName nvarchar(50),
+	@lastName  nvarchar(50)
+AS
+
+SELECT
+	*
+FROM
+	Person
+WHERE
+	FirstName = @firstName AND LastName = @lastName
+
+GO
+
+GRANT EXEC ON Person_SelectByName TO PUBLIC
+GO
+
+-- Person_SelectListByName
+
+IF OBJECT_ID('Person_SelectListByName') IS NOT NULL
+BEGIN DROP Procedure Person_SelectListByName END
+GO
+
+CREATE Procedure Person_SelectListByName
+	@firstName nvarchar(50),
+	@lastName  nvarchar(50)
+AS
+
+SELECT
+	*
+FROM
+	Person
+WHERE
+	FirstName like @firstName AND LastName like @lastName
+
+GO
+
+GRANT EXEC ON Person_SelectByName TO PUBLIC
+GO
+
+-- Person_Insert
+
+IF OBJECT_ID('Person_Insert') IS NOT NULL
+BEGIN DROP Procedure Person_Insert END
+GO
+
+CREATE Procedure Person_Insert
+	@FirstName  nvarchar(50),
+	@LastName   nvarchar(50),
+	@MiddleName nvarchar(50),
+	@Gender     char(1)
+AS
+
+INSERT INTO Person
+	( LastName,  FirstName,  MiddleName,  Gender)
+VALUES
+	(@LastName, @FirstName, @MiddleName, @Gender)
+
+SELECT Cast(@@IDENTITY as int) PersonID
+
+GO
+
+GRANT EXEC ON Person_Insert TO PUBLIC
+GO
+
+-- Person_Insert_OutputParameter
+
+IF OBJECT_ID('Person_Insert_OutputParameter') IS NOT NULL
+BEGIN DROP Procedure Person_Insert_OutputParameter END
+GO
+
+CREATE Procedure Person_Insert_OutputParameter
+	@FirstName  nvarchar(50),
+	@LastName   nvarchar(50),
+	@MiddleName nvarchar(50),
+	@Gender     char(1),
+	@PersonID   int output
+AS
+
+INSERT INTO Person
+	( LastName,  FirstName,  MiddleName,  Gender)
+VALUES
+	(@LastName, @FirstName, @MiddleName, @Gender)
+
+SET @PersonID = Cast(@@IDENTITY as int)
+
+GO
+
+GRANT EXEC ON Person_Insert_OutputParameter TO PUBLIC
+GO
+
+-- Person_Update
+
+IF OBJECT_ID('Person_Update') IS NOT NULL
+BEGIN DROP Procedure Person_Update END
+GO
+
+CREATE Procedure Person_Update
+	@PersonID   int,
+	@FirstName  nvarchar(50),
+	@LastName   nvarchar(50),
+	@MiddleName nvarchar(50),
+	@Gender     char(1)
+AS
+
+UPDATE
+	Person
+SET
+	LastName   = @LastName,
+	FirstName  = @FirstName,
+	MiddleName = @MiddleName,
+	Gender     = @Gender
+WHERE
+	PersonID = @PersonID
+
+GO
+
+GRANT EXEC ON Person_Update TO PUBLIC
+GO
+
+-- Person_Delete
+
+IF OBJECT_ID('Person_Delete') IS NOT NULL
+BEGIN DROP Procedure Person_Delete END
+GO
+
+CREATE Procedure Person_Delete
+	@PersonID int
+AS
+
+DELETE FROM Person WHERE PersonID = @PersonID
+
+GO
+
+GRANT EXEC ON Person_Delete TO PUBLIC
+GO
+
+-- Patient_SelectAll
+
+IF OBJECT_ID('Patient_SelectAll') IS NOT NULL
+BEGIN DROP Procedure Patient_SelectAll END
+GO
+
+CREATE Procedure Patient_SelectAll
+AS
+
+SELECT
+	Person.*, Patient.Diagnosis
+FROM
+	Patient, Person
+WHERE
+	Patient.PersonID = Person.PersonID
+
+GO
+
+GRANT EXEC ON Patient_SelectAll TO PUBLIC
+GO
+
+-- Patient_SelectByName
+
+IF OBJECT_ID('Patient_SelectByName') IS NOT NULL
+BEGIN DROP Procedure Patient_SelectByName END
+GO
+
+CREATE Procedure Patient_SelectByName
+	@firstName nvarchar(50),
+	@lastName  nvarchar(50)
+AS
+
+SELECT
+	Person.*, Patient.Diagnosis
+FROM
+	Patient, Person
+WHERE
+	Patient.PersonID = Person.PersonID
+	AND FirstName = @firstName AND LastName = @lastName
+
+GO
+
+GRANT EXEC ON Person_SelectByName TO PUBLIC
+GO
+
+-- BinaryData Table
+
+IF OBJECT_ID('BinaryData') IS NOT NULL
+BEGIN DROP TABLE BinaryData END
+GO
+
+CREATE TABLE BinaryData
+(
+	BinaryDataID int             IDENTITY,
+	Stamp        timestamp       NOT NULL,
+	Data         varbinary(1024) NOT NULL,
+	CONSTRAINT PK_BinaryData PRIMARY KEY CLUSTERED (BinaryDataID)
+)
+GO
+
+-- OutRefTest
+
+IF OBJECT_ID('OutRefTest') IS NOT NULL
+BEGIN DROP Procedure OutRefTest END
+GO
+
+CREATE Procedure OutRefTest
+	@ID             int,
+	@outputID       int output,
+	@inputOutputID  int output,
+	@str            varchar(50),
+	@outputStr      varchar(50) output,
+	@inputOutputStr varchar(50) output
+AS
+
+SET @outputID       = @ID
+SET @inputOutputID  = @ID + @inputOutputID
+SET @outputStr      = @str
+SET @inputOutputStr = @str + @inputOutputStr
+
+GO
+
+-- OutRefEnumTest
+
+IF OBJECT_ID('OutRefEnumTest') IS NOT NULL
+BEGIN DROP Procedure OutRefEnumTest END
+GO
+
+CREATE Procedure OutRefEnumTest
+	@str            varchar(50),
+	@outputStr      varchar(50) output,
+	@inputOutputStr varchar(50) output
+AS
+
+SET @outputStr      = @str
+SET @inputOutputStr = @str + @inputOutputStr
+
+GO
+
+-- ExecuteScalarTest
+
+IF OBJECT_ID('Scalar_DataReader') IS NOT NULL
+BEGIN DROP Procedure Scalar_DataReader END
+GO
+
+CREATE Procedure Scalar_DataReader
+AS
+SELECT Cast(12345 as int) AS intField, Cast('54321' as varchar(50)) AS stringField
+
+GO
+
+IF OBJECT_ID('Scalar_OutputParameter') IS NOT NULL
+BEGIN DROP Procedure Scalar_OutputParameter END
+GO
+
+CREATE Procedure Scalar_OutputParameter
+	@outputInt    int = 0 output,
+	@outputString varchar(50) = '' output
+AS
+BEGIN
+	SET @outputInt    = 12345
+	SET @outputString = '54321'
+END
+
+GO
+
+IF OBJECT_ID('Scalar_ReturnParameterWithObject') IS NOT NULL
+BEGIN DROP Procedure Scalar_ReturnParameterWithObject END
+GO
+
+CREATE Procedure Scalar_ReturnParameterWithObject
+	@id int
+AS
+BEGIN
+	SELECT * FROM Person WHERE PersonID = @id
+	RETURN @id
+END
+
+GO
+
+-- Data Types test
+
+IF OBJECT_ID('DataTypeTest') IS NOT NULL
+BEGIN DROP TABLE DataTypeTest END
+GO
+
+CREATE TABLE DataTypeTest
+(
+	DataTypeID      int              IDENTITY,
+	Binary_         binary(50)       NULL,
+	Boolean_        bit              NOT NULL,
+	Byte_           tinyint          NULL,
+	Bytes_          varbinary(50)    NULL,
+	Char_           char(1)          NULL,
+	DateTime_       datetime         NULL,
+	Decimal_        decimal(20,2)    NULL,
+	Double_         float            NULL,
+	Guid_           varbinary(16)    NULL,
+	Int16_          smallint         NULL,
+	Int32_          int              NULL,
+	Int64_          bigint           NULL,
+	Money_          money            NULL,
+	SByte_          tinyint          NULL,
+	Single_         real             NULL,
+	Stream_         varbinary(50)    NULL,
+	String_         nvarchar(50)     NULL,
+	UInt16_         smallint         NULL,
+	UInt32_         int              NULL,
+	UInt64_         bigint           NULL,
+	Xml_            nvarchar(1000)   NULL,
+	CONSTRAINT PK_DataType PRIMARY KEY CLUSTERED (DataTypeID)
+)
+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,        0,    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
+	(NewID(),        1,     255, NewID(),     'B', GetDate(), 12345.67,
+	1234.567,  NewID(),   32767,   32768, 1000000,   12.3456,      127,
+	1234.123,  NewID(), 'string',  32767,   32768, 200000000,
+	'<root><element strattr="strvalue" intattr="12345"/></root>')
+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) NULL,
+	DateTimeValue  datetime      NULL,
+	DateTimeValue2 datetime      NULL,
+	BoolValue      bit           default(0),
+	GuidValue      char(36)      NULL,
+	BinaryValue    binary(500)   NULL,
+	SmallIntValue  smallint      NULL,
+	IntValue       int           NULL,
+	BigIntValue    bigint        NULL
+)
+GO
+
+DROP TABLE TestIdentity
+GO
+
+CREATE TABLE TestIdentity
+(
+	ID int IDENTITY CONSTRAINT PK_TestIdentity PRIMARY KEY CLUSTERED
+)
+GO