1.局部變量
語(yǔ)法
declare{
@varaible_name datatype [,---n]
}
例:
declare @e_mail varchar(50)
declare @lastname varchar(30),@firstname varchar(20),@tel varchar(30)
2.使用set語(yǔ)句為局部變量賦值
語(yǔ)法
set @varaible_name =exPRession
例:
declare @areID int
set @areID=10
print @areID
3.使用select語(yǔ)句為局部變量賦值
語(yǔ)法
select @varaible_name =expression
例:
select @areID=10
一般,set賦值變量的值通常是給定的;而select 賦給變量的值則有查詢獲得。
4.全局變量
SQL Server 2012常見(jiàn)的全局變量
@@ERROR 返回執(zhí)行上一條Transact-SQL語(yǔ)句所返回的錯(cuò)誤號(hào)
@@IDENTITY 返回最后插入的標(biāo)志值
@@MAX_CONNECTIONS返回SQL SERVER實(shí)例所允許同時(shí)鏈接的最大用戶數(shù)
@@ROWCOUNT 返回上一條語(yǔ)句影響的行數(shù)
@@SERVERNAME返回運(yùn)行SQL SERVER的本地服務(wù)器名稱(chēng)
@@SERVICENAME返回SQL SERVER 正在運(yùn)行的注冊(cè)表項(xiàng)的名稱(chēng)。若當(dāng)前實(shí)例為默認(rèn)實(shí)例,則@@SERVICENAME返回MSSQLSERVER;若當(dāng)前實(shí)例為命名實(shí)例名,則返回該命名實(shí)例名
@@TRAMCOUNT返回當(dāng)前連接的活動(dòng)實(shí)物數(shù)
5.BEGIN```END語(yǔ)句
6.IF```條件判斷語(yǔ)句
語(yǔ)法
if logical_expression
expression1
[ else
expression2 ]
7.WhILE循環(huán)語(yǔ)句
語(yǔ)法
while logical_expression
begin
expression
[break]
[continue]
end
8.CASE選擇語(yǔ)句
語(yǔ)法
簡(jiǎn)單表達(dá)式
case input_experssion
when when_experssion then result_experssion
[```n]
[
else else_result_experssion
]
end
選擇表達(dá)式
case
when boolean_experssion then result_experssion
[```n]
[
else else_result_experssion
]
end
9.使用T-SQL創(chuàng)建視圖
create view [ schema_name .] view_name
[ (column[ ,...n ]) ]
as sekect_statement
參數(shù)說(shuō)明如下:
schema_name :視圖所屬架構(gòu)名。
view_name:視圖名。
column:視圖中所使用的列名。
10.使用T-SQL創(chuàng)建索引
create [unique] [clustered | nonclustered ]
index index_name
on table_name (column_name...)
參數(shù)說(shuō)明如下:
unique:表示唯一索引。
clustered:表示聚集索引。
nonclustered :表示非聚集索引,為默認(rèn)索引。
11.事務(wù)
begin transaction:?jiǎn)?dòng)事務(wù)。
commit transaction:提交事務(wù)。
rollback transaction:回滾事務(wù)。
12.系統(tǒng)存儲(chǔ)過(guò)程
-- 常用系統(tǒng)存儲(chǔ)過(guò)程exec sp_databases; // 查看數(shù)據(jù)庫(kù)exec sp_tables; // 查看表exec sp_columns student; // 查看列exec sp_helpIndex student; // 查看索引exec sp_helpConstraint student; // 約束exec sp_stored_procedures;exec sp_helptext 'sp_stored_procedures'; // 查看存儲(chǔ)過(guò)程創(chuàng)建、定義語(yǔ)句exec sp_rename student, stuInfo; // 修改表、索引、列的名稱(chēng)exec sp_renamedb myTempDB, myDB; // 更改數(shù)據(jù)庫(kù)名稱(chēng)exec sp_defaultdb 'master', 'myDB'; // 更改登錄名的默認(rèn)數(shù)據(jù)庫(kù)exec sp_helpdb; // 數(shù)據(jù)庫(kù)幫助,查詢數(shù)據(jù)庫(kù)信息exec sp_helpdb master;-- 表重命名exec sp_rename 'stu', 'stud';select * from stud;-- 列重命名exec sp_rename 'stud.name', 'sName', 'column';-- 重命名索引exec sp_rename N'student.idx_cid', N'idx_cidd', N'index';-- 查詢所有存儲(chǔ)過(guò)程select * from sys.objects where type = 'P';select * from sys.objects where type_desc like '%pro%' and name like 'sp%';13.自定義存儲(chǔ)過(guò)程
語(yǔ)法
[if exists(select * from sysobjects where name='proc_name')
drop proc[edure] proc_name
]
create proc[edure] proc_name
[{@parameter_name data_type}=[默認(rèn)值]] [output],...,n]
as
procedure_body
exec proc_name [@parameter_name ] [output],...,n]
print ''
新聞熱點(diǎn)
疑難解答
圖片精選