Sql Server資料庫常用Transact-SQL指令碼(推薦)
阿新 • • 發佈:2020-01-09
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 GO --呼叫 DECLARE @SalesYTDBySalesPerson money; EXECUTE P_UspGetEmployeeSalesYTD N'Blythe',@SalesYTD = @SalesYTDBySalesPerson OUTPUT; GO
資料型別
總結
以上所述是小編給大家介紹的Sql Server資料庫常用Transact-SQL指令碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!