####1.set 與select的區別
set 只能賦值
select 不僅可以賦值,而且可以用作輸出查詢資料
#定義區域性變數,並賦值
declare
@inint
set@in=5
print
@in
###利用sql給定的函式
#使用t-sql程式設計輸出a到z之間的26個大寫字母
declare
@siint
set@si=0
while
@si<
26begin
print
char
(ascii(
'a')
+@si
)set
@si=
@si+
1end
#關於datalength(char_exper),len( ),substring(expression,start, length),letf(),rigth()應用
select datalength(
'sql server 2008'
)#表示表示式所佔的位元組數,不包括尾部空字元
select
len(
'sql server 2008'
)select substring(
'sql server 2008',1
,5)select
left
('sql server 2008',2
)# 表示從左邊或右邊開始的幾個字元。
select
right
('sql server 2008 ',3
)#floor函式和rand函式應用
declare
@inint
set@in=0
while
@in<
10begin
print floor(rand()*
19)+1
#floor 用於取整,rand用於產生0~1的隨機函式
set@in
=@in+1
end
2.使用者自定義函式
#定義標量函式
create
function dhu (
@hjnchar(10
))returns
intas
begin
declare
@bhint
set@bh=(
select sno from student where sname=
@hj)
return
@bhend
goselect
[學生-課程系統]
.dbo.dhu(
'李勇'
)
#定義內嵌錶值函式
create
function ji (
@nhint
)returns
table
asreturn
(select sname ,sage,sdept from student where sno=
@nh)
goselect
*from dbo.ji(
201215121
)
#定義多語句錶值函式
create
function ji1 (
@nhint
)returns
@htable
(名字 nchar(10
),年齡 int
,院系 nvarchar(30)
)asbegin
insert
@hselect sname ,sage,sdept from student where sno=
@nhreturn
endgo
select
*from dbo.ji1(
201215121
)
3.修改、刪除函式
#修改函式
alter
function dhu (
@hjnchar(10
))returns
intas
begin
declare
@bhint
set@bh=(
select sage from student where sname=
@hj)
return
@bhend
goselect
[學生-課程系統]
.dbo.dhu(
'李勇'
)
4.函式重新命名、刪除函式
#重新命名
sp_rename 'ji1'
,'ji2'
#刪除函式
drop
function ji2
5.游標
相當於 指標,它用來解決集合與記錄之間矛盾的作用
游標的使用有五步:
定義游標
開啟游標
讀取游標
關閉游標
釋放游標
#定義游標,系統預設的游標是單進,動態,全域性,可更新的。
declare chu_cur cursor
forselect
*from student
open chu_cur
fetch
next
from chu_cur
while @@fetch_status=0
begin
fetch
next
from chu_cur
endclose chu_cur
deallocate chu_cur
注意,只有在定義scroll時才可運用first/last/absolute/relative/prior
declare stu_cur scroll cursor
forselect
*from student
open stu_cur
fetch
first
from stu_cur
fetch
last
from stu_cur
fetch absolute 2
from stu_cur #表示從第二行開始
fetch relative 2
from stu_cur #表示當前位置,跨越兩行
fetch prior from stu_cur #表示本行的前一行
T SQL程式設計總結
一 批處理 go a,go是批處理的標誌 b.作用 可以使不在同一批處理語句中的sql語句相互不受影響 c.使用 把相互聯絡的放在同一批次,沒聯絡的放在不同批次 二變數 區域性變數,全域性變數 1.區域性變數和全域性變數的區別 區域性變數 定義它的區域性範圍內有效 a.必須以標記 作為字首,如 re...
T SQL程式設計
if else 語句 begin end 相當予c語言中的 當語句塊中只有一句的時候 可以省略 begin end while begin 語句塊 end print 列印輸出資訊 declare num int select num 100 while num 90 begin if num 80...
T SQL程式設計
我在做sqlserver進行t sql操作時,在對時間的處理上總是有點不懂,今天我把sqlserver時間函式整理了一下,希望對大家在處理時間上有所幫助 返回乙個指定的日期是該月份的那一天的整數 declare day int set day day 2 05 2011 select day 返回乙...