这篇文章主要介绍了Sql Server数据库常用Transact-SQL脚本的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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、创建数据库

USEmaster;GOCREATEDATABASESalesON(NAME=Sales_dat,FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=Sales_log,FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB);GO

2、查看数据库

SELECTname,database_id,create_dateFROMsys.databases;

3、删除数据库

DROPDATABASESales;

1、创建表

CREATETABLEPurchaseOrderDetail(IDuniqueidentifierNOTNULL,LineNumbersmallintNOTNULL,ProductIDintNULL,UnitPricemoneyNULL,OrderQtysmallintNULL,ReceivedQtyfloatNULL,RejectedQtyfloatNULL,DueDatedatetimeNULL);

2、删除表

DROPTABLEdbo.PurchaseOrderDetail;

3、重命名表

EXECsp_rename'Sales.SalesTerritory','SalesTerr';

1、添加列

ALTERTABLEdbo.doc_exaADDcolumn_bVARCHAR(20)NULL,column_cINTNULL;

2、删除列

ALTERTABLEdbo.doc_exbDROPCOLUMNcolumn_b;

3、重命名列

EXECsp_rename'Sales.SalesTerritory.TerritoryID','TerrID','COLUMN';

约束

1、主键

--在现有表中创建主键ALTERTABLEProduction.TransactionHistoryArchiveADDCONSTRAINTPK_TransactionHistoryArchive_TransactionIDPRIMARYKEYCLUSTERED(TransactionID);--在新表中创建主键CREATETABLEProduction.TransactionHistoryArchive1(TransactionIDintIDENTITY(1,1)NOTNULL,CONSTRAINTPK_TransactionHistoryArchive_TransactionIDPRIMARYKEYCLUSTERED(TransactionID));--查看主键SELECTnameFROMsys.key_constraintsWHEREtype='PK'ANDOBJECT_NAME(parent_object_id)=N'TransactionHistoryArchive';GO--删除主键ALTERTABLEProduction.TransactionHistoryArchiveDROPCONSTRAINTPK_TransactionHistoryArchive_TransactionID;GO

视图

1、创建视图

CREATEVIEWV_EmployeeHireDateASSELECTp.FirstName,p.LastName,e.HireDateFROMHumanResources.EmployeeASeJOINPerson.PersonASpONe.BusinessEntityID=p.BusinessEntityID;GO

2、删除视图

DROPVIEWV_EmployeeHireDate;

存储过程

1、创建存储过程

CREATEPROCEDUREP_UspGetEmployeesTest@LastNamenvarchar(50),@FirstNamenvarchar(50)ASSELECTFirstName,LastName,DepartmentFROMHumanResources.vEmployeeDepartmentHistoryWHEREFirstName=@FirstNameANDLastName=@LastNameANDEndDateISNULL;GO

2、删除存储过程

DROPPROCEDUREP_UspGetEmployeesTest;

3、执行存储过程

EXECP_UspGetEmployeesTestN'Ackerman',N'Pilar';--OrEXECP_UspGetEmployeesTest@LastName=N'Ackerman',@FirstName=N'Pilar';GO--OrEXECUTEP_UspGetEmployeesTest@FirstName=N'Pilar',@LastName=N'Ackerman';GO

4、重命名存储过程

EXECsp_rename'P_UspGetAllEmployeesTest','P_UspEveryEmployeeTest2';

5、带有输出参数的存储过程

CREATEPROCEDUREP_UspGetEmployeeSalesYTD@SalesPersonnvarchar(50),@SalesYTDmoneyOUTPUTASSELECT@SalesYTD=SalesYTDFROMSalesPersonASspJOINvEmployeeASeONe.BusinessEntityID=sp.BusinessEntityIDWHERELastName=@SalesPerson;RETURNGO--调用DECLARE@SalesYTDBySalesPersonmoney;EXECUTEP_UspGetEmployeeSalesYTDN'Blythe',@SalesYTD=@SalesYTDBySalesPersonOUTPUT;GO

数据类型

感谢你能够认真阅读完这篇文章,希望小编分享的“Sql Server数据库常用Transact-SQL脚本的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!