Академический Документы
Профессиональный Документы
Культура Документы
====================
-You can create a database using either SSMS or T-SQL
eg
USE master;
CREATE DATABASE SBSChp4TSQL
ON PRIMARY
(NAME='SBSChp4TSQL1', FILENAME = 'C:\MSSQL\SQLData\SBSTSQL1.mdf', SIZE=10MB, MAX
SIZE=20,
FILEGROWTH=10%)
LOG ON
(NAME='SBSChp4TSQL_log', FILENAME = 'C:\MSSQL\SQLData\SBSTSQL_log.ldf',
SIZE=10MB, MAXSIZE=200, FILEGROWTH=20%);
================================================================================
================================
USE Training
CREATE TABLE [dbo].[Customer]
([CustomerID] [int] IDENTITY (1, 1) NOT NULL,
[CustomerName] [varchar] (50) NULL,
[YTDOrders] [int] NULL,
[YTDSales] [int] null,
CONSTRAINT [PK_Customer]
PRIMARY KEY CLUSTERED
([CustomerID] ASC)
WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)ON [PRIMARY]
GO
================================================================================
===============================
Creating Stored Procedure
=========================
CREATE PROCEDURE Customer_Upsert
@CustomerID int=null,
@CustomerName nvarchar (40)=null,
@YTDOrders int=null,
@YTDSales int=null
AS
BEGIN
SET NOCOUNT ON;
if(@CustomerID is null)
INSERT INTO [dbo].[Customer]
(CustomerName, YTDOrders, YTDSales)
VALUES (@CustomerName, @YTDOrders, @YTDSales)
else
UPDATE [dbo].[Customer]
SET CustomerName=coalesce
(@CustomerName, CustomerName),
YTDOrders=coalesce
(@YTDOrders, YTDOrders),
YTDSales=coalesce
(@YTDSales, YTDSales)
WHERE CustomerID=@CustomerID
END
GO
========================================================
CREATE DATABASE Players
ON PRIMARY
(NAME='Players', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQL
SERVER\MSSQL\DATA\Players.mdf', SIZE=10MB, MAXSIZE=20,
FILEGROWTH=10%)
LOG ON
(NAME='Players_log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.M
SSQLSERVER\MSSQL\DATA\players_log.ldf',
SIZE=10MB, MAXSIZE=200, FILEGROWTH=20%);
USE Players
CREATE TABLE [dbo].[Player](
[Player_ID] [int] IDENTITY (1, 1) NOT NULL,
[Player-Name] [varchar] (50) NOT NULL,
[Date_Of_Birth] [date],
[Club] [varchar] (50) NOT NULL,
CONSTRAINT [PK_Player]
PRIMARY KEY CLUSTERED
([Player_ID] ASC)
WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)ON [PRIMARY]
USE Players
CREATE TABLE [dbo].[Player_Log](
[Player_ID] [int] NOT NULL,
[Player-Name] [varchar] (50) NOT NULL,
[Date_Of_Birth] [date],
[Club] [varchar] (50) NOT NULL,
[Start_Date] [date] NOT NULL,
[Stop_Date] [date],
CONSTRAINT [PK_Players]
PRIMARY KEY CLUSTERED
([Player_ID] ASC)
WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)ON [PRIMARY]
======================================
TO TEST THIS CODE
======================================
CREATE FUNCTION f_Player_Ins () RETURNS TRIGGER AS $$
BEGIN
INSERT INTO [dbo].[Player_Log] VALUES (New.Player_ID, New.Player
_Name, New.Date_Of_Birth, New.Club, Current_Date, NULL)
RETURN New
End
$$ language 'plpgsql'
CREATE TRIGGER Player_Ins