T SQL學習筆記

2022-07-01 11:03:10 字數 2329 閱讀 1639

學習t-sql時記錄的筆記,記得並不全也不詳細

declare @age int

select @age = datediff(year,stuage,getdate()) from tbstudent where stuname = '孫悟空'

if(@age>=18)

begin --必須有begin..end

print n'已成年'

endelse

begin

print n'未成年'

end

declare @sum int

set @sum = 0

declare @i int

set @i = 1

while(@i <= 100)

begin

if(@i % 2 <> 0)

begin

set @sum = @sum + @i

endset @i = @i + 1

endprint @sum

分為標量函式、錶值函式(內聯錶值函式和多語句錶值函式)

-- 語法

create function 函式名

([引數列表]) 可以不寫引數,先寫變數名再寫型別

returns 返回值型別

asbegin

-- ······函式體語句

return 返回值

end

內聯錶值函式
-- 語法

create function 函式名

([引數名])

returns table

asreturn (一條select語句)

多語句錶值函式

多語句錶值函式可以看作是標量函式和內聯錶值函式的結合體

-- 語法

create function 函式名([引數列表])

returns 表變數名 table

(表變數的字段定義)

asbegin

sqlreturn 這裡啥都不寫

end

儲存過程時儲存在伺服器上的一組t-sql語句的集合,用來完成乙個特定功能。

分為系統儲存過程(系統自帶)和自定義儲存過程

-- 語法

create procedure(或proc) 儲存過程名(up_)

[引數列表] --這裡的引數列表不能使用圓括號

begin

儲存過程**

end

事務時併發控制的單位,他是使用者定義的乙個操作,這些操作要麼都做要麼都不做,不可分割。

分為:sql server事務和ado.net事務

-- 語法

begin tran --開始乙個事務操作

commit tran --提交

rollback --回滾

c#中使用時,通常把事務的操作封裝到儲存過程中

-- 語法

create trigger 觸發器名字

on 表名

after(或for) 之後觸發 / instead of 之前觸發 [insert/delete/update]

as begin

-- ······

end

觸發器的觸發條件:insert,delete,update

create trigger tr_bank_insert

on bank

after insert

asbegin

print '往bank表中插入了記錄'

endcreate trigger tr_bank_delete

on bank

after delete

asbegin

declare @id int

declare @username nvarchar(8)

declare @usermoney int

select @id = id, @usermoney = usermoney, @username = username from deleted

insert into bankbak values(@id, @username, @usermoney)

endselect * from bank

select * from bankbak

delete from bank where id = 3

sql server的觸發器是表級觸發器,表上一次性的多次操作只觸發一次

T SQL 游標學習筆記

首先 在效能上,游標會吃更多的記憶體,減少可用的併發,占用寬頻,鎖定資源,當然還有更多的 量 從游標對資料庫的讀取方式來說,不難看出游標為什麼占用更多的資源,打個比方 當你從atm取錢的時候,是一次取1000效率更高呢,還是取10次100?游標變數支援兩種方式賦值,定義時賦值和先定義後賦值,定義游標...

儲存過程學習筆記三 T SQL基本知識

1.資料庫物件限定符 伺服器.資料庫.所有者.資料庫 物件 2.為區域性變數 為全域性變數 屬於系統定義的函式,不能對它們進行宣告。select 語句可用來對區域性變數進行賦值 select inteqid identity interrorcode error 3.常用的全域性變數 identit...

T Sql 學習 11 統計函式

統計函式 乙個工具能夠完成某個任務,並不能說明他就是這個任務的最好選擇 1,case 可以在統計的時候,有非常清晰的判斷和邏輯 2,效率 有可能有表的自連線,所以需要在效能和可讀性之間做乙個折中 3,sign函式 select sign 100 sign 100 sign 0 sign 0.2 fr...