共計 3248 個字符,預計需要花費 9 分鐘才能閱讀完成。
這篇文章主要介紹了 Sql Server 數據庫常用 Transact-SQL 腳本的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
Transact-SQL
Transact-SQL(又稱 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 實現,與 Oracle 的 PL/SQL 性質相近(不只是實現 ANSI SQL,也為自身數據庫系統的特性提供實現支持),在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用為核心的查詢語言。
數據庫
1、創建數據庫
USE master ;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf ,
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf ,
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO
2、查看數據庫
SELECT name, database_id, create_date
FROM sys.databases ;
3、刪除數據庫
DROP DATABASE Sales;
表
1、創建表
CREATE TABLE PurchaseOrderDetail
(
ID uniqueidentifier NOT NULL
,LineNumber smallint NOT NULL
,ProductID int NULL
,UnitPrice money NULL
,OrderQty smallint NULL
,ReceivedQty float NULL
,RejectedQty float NULL
,DueDate datetime NULL
);
2、刪除表
DROP TABLE dbo.PurchaseOrderDetail;
3、重命名表
EXEC sp_rename Sales.SalesTerritory , SalesTerr
列
1、添加列
ALTER TABLE dbo.doc_exa ADD column_b VARCHAR(20) NULL, column_c INT NULL ;
2、刪除列
ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
3、重命名列
EXEC sp_rename Sales.SalesTerritory.TerritoryID , TerrID , COLUMN
約束
1、主鍵
-- 在現有表中創建主鍵
ALTER TABLE Production.TransactionHistoryArchive
ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID);
-- 在新表中創建主鍵
CREATE TABLE Production.TransactionHistoryArchive1
( TransactionID int IDENTITY (1,1) NOT NULL
, CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID)
)
-- 查看主鍵
SELECT name
FROM sys.key_constraints
WHERE type = PK AND OBJECT_NAME(parent_object_id) = N TransactionHistoryArchive
GO
-- 刪除主鍵
ALTER TABLE Production.TransactionHistoryArchive
DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID;
GO
視圖
1、創建視圖
CREATE VIEW V_EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID ;
GO
2、刪除視圖
DROP VIEW V_EmployeeHireDate;
存儲過程
1、創建存儲過程
CREATE PROCEDURE P_UspGetEmployeesTest
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SELECT FirstName, LastName, Department
FROM HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName = @LastName
AND EndDate IS NULL;
GO
2、刪除存儲過程
DROP PROCEDURE P_UspGetEmployeesTest;
3、執行存儲過程
EXEC P_UspGetEmployeesTest N Ackerman , N Pilar
-- Or
EXEC P_UspGetEmployeesTest @LastName = N Ackerman , @FirstName = N Pilar
GO
-- Or
EXECUTE P_UspGetEmployeesTest @FirstName = N Pilar , @LastName = N Ackerman
GO
4、重命名存儲過程
EXEC sp_rename P_UspGetAllEmployeesTest , P_UspEveryEmployeeTest2
5、帶有輸出參數的存儲過程
CREATE PROCEDURE P_UspGetEmployeeSalesYTD
@SalesPerson nvarchar(50),
@SalesYTD money OUTPUT
AS
SELECT @SalesYTD = SalesYTD
FROM SalesPerson AS sp
JOIN vEmployee AS e ON e.BusinessEntityID = sp.BusinessEntityID
WHERE LastName = @SalesPerson;
RETURN
DECLARE @SalesYTDBySalesPerson money;
EXECUTE P_UspGetEmployeeSalesYTD
N Blythe ,
@SalesYTD = @SalesYTDBySalesPerson OUTPUT;
GO
數據類型
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“Sql Server 數據庫常用 Transact-SQL 腳本的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!
正文完