82
Chương 3 Truy vấn nâng cao

Chuong#3 Truy Van Nang Cao

Embed Size (px)

DESCRIPTION

...

Citation preview

  • Chng 3

    Truy vn nng cao

  • www.themegallery.com

    Ni dung

    Cu trc lnh

    Th tc thng tr

    Kiu d liu cursor

    Hm ngi dng 4

    1

    2

    3

  • www.themegallery.com

    Khai bo bin

    Tn bin?

    Tm vc bin?

    Kiu d liu?

    Gi tr khi to?

  • www.themegallery.com

    Khai bo bin

    C php

    Declare Var_name Datatype

    Lu : Tn bin phi bt u bng 1 k t @

    V d

    Declare @MaSinhVien nvarchar(10)

    Declare @TienLuong float

    Declare @Sum float, @Count int

    Declare @temp TABLE (ma int,

    ten nvarchar(10))

  • www.themegallery.com

    Khai bo bin

    Tm vc bin

    Bin cc b c ngha trong mt query batch hay mt th tc thng tr hoc mt hm ngi dng

    Bin h thng c ngha trn c h thng. Tn ca chng bt u bng @@. Cc bin ny l read-only.

    V d bin h thng : @@fetch_status, @@rowcount, @@trancount

  • www.themegallery.com

    Lnh gn

    Set @TenBien = GiaTri

    Set @TenBien = TenBien

    Set @TenBien = BieuThuc

    Select @TenBien = (KetQuaTruyVan)

    V d :

    Set @MaLop = TH2001

    Set @SoSV = (select count(*) from SinhVien)

    Set @MaLop = TH + CAST (Year(@NgayTuyenSinh) AS char(4))

  • www.themegallery.com

    Lnh gn

    Cng c th gn gi tr cho bin bng cu truy vn thay v ch th set

    V d :

    SV(MaSV, HoTen, Tuoi)

    Select @Var2 = HoTen, @Var1 = Tuoi

    from SV

    where MaSV = 1

    Kiu d liu phi tng ng. Nu cu truy vn tr v nhiu dng th cc bin ch nhn gi tr t dng u tin

  • www.themegallery.com

    Cu trc iu khin

    If

    [Begin]

    Code block

    [End]

    Else

    [Begin]

    Code block

    [End]

    C Php

    C th cha cc cu truy vn phc tp ty

    Khai bo bin Cc tnh ton trn bin Cc cu truy vn phc tp ty

    Optional

  • www.themegallery.com

    Cu trc iu khin If logial expression

    [Begin]

    Code block

    [End]

    [Else if logial expression

    [Begin]

    Code block

    [End]

    [,n]] Else

    [Begin]

    Code block

    [End]

    C th lp li nhiu ln ty . M phng cu trc case

  • www.themegallery.com

    Cu trc iu khin V d

    HocPhan(MaHP, TenHP, SiSo)

    DangKy(MaSV, MaHP)

    Vit lnh thm mt ng k mi cho sinh vin c m s 001 vo hc phn HP01 (gi s hc phn ny tn ti trong bng HocPhan). Qui nh s s lp cho mi hc phn khng qu 50 sv

  • www.themegallery.com

    Cu trc iu khin

    WHILE

    [Begin]

    { sql_statement | statement_block }

    [ BREAK ]

    { sql_statement | statement_block }

    [ CONTINUE ]

    [End]

    Thot vng lp

    B qua on lnh sau

  • www.themegallery.com

    Cu trc iu khin V d

    SinhVien(MaSV: int, HoTen: nvarchar(30))

    Vit lnh xc nh mt m sinh vin mi theo qui nh: m sinh vin tng dn, nu c ch trng th m mi xc nh s chn vo ch trng

    Vd: 1,2,3,7 m sinh vin mi: 4

  • www.themegallery.com

    Cu trc iu khin

    CASE [input_expression]

    WHEN when_expression THEN result_expression

    [ ...n ]

    [ ELSE else_result_expression ]

    END

    C th l gi tr hoc biu thc iu kin

  • www.themegallery.com

    Cu trc iu khin

    V d:

    NHAN_VIEN(MaNV, HoTen, NgaySinh, CapBac,

    Phai)

    Cho bit nhng nhn vin n tui v hu (tui v hu ca nam l 60, ca n l 55)

  • www.themegallery.com

    Cu trc iu khin

    Select * From NHAN_VIEN

    Where datediff(yy, NgaySinh, getdate())

    > = Case Phai

    when Nam then 60

    when Nu then 55

    End

  • www.themegallery.com

    Cu trc iu khin

    Cho bit m NV, h tn v loi nhn vin (cp bc

  • www.themegallery.com

    Bi tp 1

    Cho 3 s a, b, c.

    Tm phn s nh nht. In gi tr ca a, b, c.

    Xut thng bo "S nh nht l :"

  • www.themegallery.com

    Bi tp 1

    1. Declare @a int, @b float, @c int

    2. Set a = 2

    3. Select b = 2.4

    4. set c = 2.5

    5. print 'a=' + @a + 'b=' + @b + ' c=' + @c

    6. If @a>@b

    7. select @tmp = @b

    8. if @b>@c

    9. set @tmp = @c

    10. if @c>@a

    11. set @tmp = @a

    12. print 'S nh nht l: ' + @tmp

    Tm li

  • www.themegallery.com

    Bi tp 2

    Cho CSDL:

    SinhVien (MaSV, Hoten, DiemTB)

    Tm sinh vin c im trung bnh ln nht v xut thng

    bo theo yu cu sau:

    Nu im TB >= 8.0 [MaSV] - im trung bnh [DiemTB] Xp loi : Gii

    Nu im TB >= 6.5 [MaSV] - im trung bnh [DiemTB] Xp loi : Kh

    Nu im TB >= 5.0 [MaSV] - im trung bnh [DiemTB] Xp loi : Trung bnh

    Ngc li [MaSV] - im trung bnh [DiemTB] Xp loi : Yu

  • www.themegallery.com

    Bi tp 3

    Cho CSDL:

    SinhVien(MaSV, HoTen, NgaySinh)

    Tm sinh vin c MaSV = 0912033 vi nh

    dng nh sau:

    ------------------------------------

    M SV : 0912033

    H tn : Nguyn Kim i

    Ngy sinh : 20/9/1990

    -------------------------------------

  • www.themegallery.com

    Bi tp 4

    Cho CSDL:

    SinhVien(MaSV, HoTen, NgaySinh)

    DiemThi(MaSV, MaMH, Diem)

    Tnh im trung bnh ca tng sinh vin. Nu sinh

    vin c im trung bnh > 5.0 th in l u ngc

    li rt. In di dng bng.

    V d:

    MaSV HoTen im TB Kt qu

    0912033 Nguyn Kim i 4.5 Rt

  • www.themegallery.com

    Bi tp 5

    Cho CSDL:

    SinhVien(MaSV, HoTen, NgaySinh)

    DiemThi(MaSV, MaMH, Diem)

    Kim tra MaSV = 0912003 c tn ti cha

    Nu cha tn ti xut thng bo [MaSV] cha tn ti.

    Ngc li, xut thng bo [MaSV] sinh vin tn ti.

  • www.themegallery.com

    Bi tp 6

    Cho CSDL:

    MonHoc(MaMH, TenMH,SoChi)

    Kim tra MaMH tn ti cha?

    Nu tn ti ri xut thng bo [MaMH] tn ti

    Ngc li, pht sinh MaMH mi v in thng bo M MH mi l [MaMHmoi]

    V d:

    Tm c MaMH ln nht l : MH008

    Pht sinh MaMH mi = MH009

  • www.themegallery.com

    Ni dung

    Cu trc lnh

    Th tc thng tr

    Kiu d liu cursor

    Hm ngi dng 4

    1

    2

    3

  • www.themegallery.com

    Th tc thng tr

    Th tc: Cha cc lnh T_SQL Tng t nh mt th tc trong cc ngn ng lp trnh: c th truyn tham s, c tnh ti s dng

    Thng tr: c dch v lu tr thnh mt i tng trong CSDL

  • www.themegallery.com

    Th tc thng tr

    Tn th tc?

    Gi tr tr v?

    Tham s ra?

    Yu cu x l?

    Tham s vo?

  • www.themegallery.com

    ngha

    Tnh ti s dng

    Ti u ha khi bin dch

    Gim lng thng tin trao i

    m bo an CSDL an ton hn

    n gin ha vic lp bo co

  • www.themegallery.com

    C php

    Create {proc | procedure} proc_name

    Parameter DataType [output] [,n]

    As

    Code block

    [return [return_value] ]

    Go

    Tn ca stored .Nn bt u vi USP

    Tn tham s (t nh tn bin)

    Kiu DL ca tham s Gi tr tr ra nu c

    th dng mt (hay mt s) tham s output

    Thn sa SP, vit nh th no l ty vo tng bi ton c th

    Ch tr v gi tr int

  • www.themegallery.com

    V d

    Vit th tc thm mt ng k ca sinh vin vo mt hc phn

    --1. Khai bo i s

    Create procedure usp_ThemDangKy

    @MaSV char(5),

    @MaHP char(5),

    @SiSo int = null output

    As

  • www.themegallery.com

    V d --2. Khai bo ni dung

    Declare @SiSo int

    Select @SiSo = SiSo From HocPhan Where MaHP= @MaHP

    if @SiSo < 50

    Begin

    insert into DANG_KY(MaSV, MaHP)

    values(@MaSV, @MaHP)

    set @SiSo = @SiSo+1

    return 1

    End

    return 0

    Go

    Tn tham s (t nh tn bin)

  • www.themegallery.com

    Stored-Procedure

    Kim tra

    tn ti?

    Stored-

    procedure

    Phn tch

    c php

    Bo li!

    Kim tra

    tn ti?

    Thnh

    cng!

    Thnh

    cng!

    Bin dch

    khi thc thi

  • www.themegallery.com

    Scalar input parameters

    CREATE PROC USP_XemSV

    @MaSV Char(10)

    AS

    BEGIN

    IF @MaSV is NULL

    SELECT * FROM SINHVIEN

    ELSE

    SELECT *

    FROM SINHVIEN

    WHERE MaSV = @MaSV

    END

    EXEC USP_XemSV 0912311

  • www.themegallery.com

    Table-valued input parameters

    --Khai bo kiu d liu mi

    CREATE TYPE DSCTDonHang AS TABLE

    (

    MaSP char(10) UNIQUE,

    DonGia float,

    SoLuong int

    )

    --Thm d liu vo bng @temp

    DECLARE @temp DSCTDonHang

    INSERT @temp VALUES('1','1',3)

    SELECT * FROM @temp

  • www.themegallery.com

    Table-valued input parameters

    CREATE PROC USP_THEMHOADON

    @TEMP AS DSCTDONHANG READONLY,

    @MADONHANG CHAR(10),

    @MAKHACHHANG CHAR(10)

    AS

    BEGIN

    --Thm phiu t hng

    INSERT PHIEUDATHANG (MADATHANG,NGAYDAT,MAKHACHHANG)

    VALUES(@MADONHANG, GETDATE(), @MAKHACHHANG)

    --Thm chi tit phiu t hng

    INSERT CHITIETPHIEUDAT (MACHITIETPD,MASANPHAM,SOLUONG,MADATHANG)

    SELECT *, @MADONHANG FROM @TEMP

    END

  • www.themegallery.com

    Table-valued input parameters

    --Khai bo danh sch chi tit n hng

    DECLARE @TEMP DSCTDONHANG

    --Thm chi tit vo danh sch

    INSERT @TEMP

    VALUES('CT00000009','SP00000005',2),

    ('CT00000010','SP00000003',2)

    --Xem ni dung bng @temp

    SELECT * FROM @TEMP

    --Thc thi th tc

    EXEC USP_THEMHOADON @TEMP,'DH001','KH00000001'

  • www.themegallery.com

    Scalar output parameters

    Thng k doanh thu ca mi sn phm

    CREATE PROC USP_ThongKe

    @MaSP Char(10),

    @TongSLBan int output,

    @TongDoanhThu float output

    AS

  • www.themegallery.com

    Scalar output parameters

    BEGIN

    --Tnh tng s lng

    SET @TongSLBan = (SELECT SUM(SoLuong)

    FROM CHITIETPHIEUDAT

    WHERE MaSanPham = @MaSP)

    --Tnh tng doanh thu

    SET @TongDoanhThu =

    (SELECT SUM(SoLuong * DonGia)

    FROM CHITIETPHIEUDAT

    WHERE MaSanPham = @MaSP)

    END

  • www.themegallery.com

    Scalar output parameters

    --Gi thc thi

    DECLARE @TongSL int, @TongDT float

    EXEC USP_ThongKe 'SP00000001',

    @TongSL output,

    @TongDT output

    PRINT CAST(@TongSL AS Char(3)) + Char(13)

    PRINT @TongDT

  • www.themegallery.com

    Gi thc thi

    {EXEC| EXECUTE}

    [ @return_status = ] procedure_name

    { [ @parameter _name = ] value [ OUTPUT ] } [ ,...n ]

    @parameter_name dng khi tham s l output

    Value c th l gi tr hoc bin, v phi truyn ng th t khai bo

  • www.themegallery.com

    V d --1. Truyn tr

    Exec usp_ThemDangKy 001, HP01

    --2. Truyn tr c tn bin

    Exec usp_ThemDangKy @MaHP = HP01, @MaSV = 001

    --3. Truyn tr c tn bin

    Exec usp_ThemDangKy @MaHP, @MaSV

    --4. C output

    Declare @SiSo int

    Exec usp_ThemDangKy 001,HP01, @SiSo output

    --5. Nhn li gi tr t hm

    Declare @SiSo int, @KetQua int

    Exec @KetQua = usp_ThemDangKy 001,HP01, @SiSo output

  • www.themegallery.com

    Th tc thng tr

    Sa th tc

    Thay t kha Create trong lnh to th tc bng t kha Alter

    Xa th tc

    Drop {procedure|proc} procedure_name

    V d:

    Drop procedure usp_ThemDangKy

  • www.themegallery.com

    Th tc thng tr

    Th mc cha th tc

  • www.themegallery.com

    Th tc lng nhau

    Create proc A

    AS

    Begin

    -- Cc lnh

    End

    Create proc B

    AS

    Begin

    EXEC A

    -- Cc lnh

    End

  • www.themegallery.com

    Bi tp

    CSDL:

    SinhVien (MaSV, HoTen, MaLop)

    Lop(MaLop, Siso)

    KetQua(MaSV, MaMH, Diem)

    1. Vit th tc nhp vo MaSV kim tra sinh vin c

    tn ti.

    2. Vit th tc thm 1 SV vo CSDL. Cp nht s s

    lp (Nu s sv > 50. Thng bo lp y.)

  • www.themegallery.com

    Ni dung

    Cu trc lnh

    Th tc thng tr

    Kiu d liu cursor

    Hm ngi dng 4

    1

    2

    3

  • www.themegallery.com

    Cursor Khi nim

    MaSV Hoten NgaySinh

    SV001 Nguyn Minh Thu 20/1/1990

    SV002 Nguyn Th Thch 2/3/1991

    SV003 Trn Minh Trang 4/3/1990

    tempCol MaSV Hoten NgaySinh

    1 SV001 Nguyn Minh Thu 20/1/1990

    2 SV002 Nguyn Th Thch 2/3/1991

    3 SV003 Trn Minh Trang 4/3/1990

    WHILE CURSOR

  • www.themegallery.com

    Cursor Khi nim

    L mt cu trc d liu nh x n mt tp cc dng d liu l kt qu ca mt cu truy vn (select)

    Cho php duyt tun t qua tp cc dng d liu v c gi tr tng dng.

  • www.themegallery.com

    Cursor khi nim

    V tr hin hnh ca cursor c th c dng nh iu kin trong mnh where ca lnh update hoc delete

    Cho php cp nht / xo d liu (d liu tht s trong CSDL) tng ng vi v tr hin hnh ca cursor

  • www.themegallery.com

    Cursor khai bo

    C th khai bo theo c php chun hoc c php m rng ca T-SQL

    C php chun Declare cur_name [Insensitive] [Scroll] Cursor

    For select_statement

    [ For {Read only| Update [of column_name [,n] ] } ]

  • www.themegallery.com

    Cursor Khai bo

    C php m rng Declare cursor_name Cursor

    [ Local | Global ]

    [ Forward_only| Scroll]

    [ Static| Dynamic]

    [ Read_only]

    For select_statement

    [ For Update [ of column_name [,n] ] ]

  • www.themegallery.com

    Cursor Khai bo

    Cursor_name:

    Chiu di 128 k t

    C 2 cch khai bo Tn cursor Tn tnh m t cho mt i tng

    cursor. Tn cursor s c gn bng i tng cursor thng qua cu lnh Declare.

    VD:

    DECLARE cur CURSOR

    FOR SELECT MSSV, TenSV FROM SINHVIEN

  • www.themegallery.com

    Cursor Khai bo

    Bin cursor cursor c khai bo nh mt bin kiu CURSOR, khi gn gi tr cho bin cursor thng qua lnh SET th bin ny s tr ti i tng cursor.

    VD:

    DECLARE @cur CURSOR

    SET @cur = CURSOR

    FOR SELECT MSSV, TenSV FROM SINHVIEN

    HOC

    DECLARE @cur CURSOR

    SET @cur = my_cur

  • www.themegallery.com

    Cursor Khai bo

    ngha cc tham s ty chn:

    Insensitive / static: ni dung ca cursor khng thay i trong sut thi gian tn ti, trong trng hp ny cursor ch l read only.

    Dynamic: trong thi gian tn ti, ni dung ca cursor c th thay i nu d liu trong cc bng lin quan c thay i.

  • www.themegallery.com

    Cursor Khai bo

    Local: cursor cc b, ch c th s dng trong phm vi mt khi (query batch) hoc mt th tc/ hm

    Global: cursor ton cc (tn ti trong sut connection hoc n khi b hy tng minh)

  • www.themegallery.com

    Cursor Khai bo

    Forward_only: cursor ch c th duyt mt chiu t u n cui

    Scroll: c th duyt ln xung cursor ty

    Read only: ch c th c t cursor, khng th s dng cursor update d liu trong cc bng lin quan (ngc li vi for update )

  • www.themegallery.com

    Cursor Khai bo

    Mc nh:

    Global

    Forward_only

    For update

    Dynamic

  • www.themegallery.com

    Cursor Khai bo

    Bng tng thch

    Insensitive Scroll Read Only Update

    Insensitive

    Scroll

    Read Only

    Update

  • www.themegallery.com

    Cursor Khai bo

    Local Global Static Dynamic Read_only Update Forward_only Scroll

    Local

    Global

    Static

    Dynamic

    Read_only

    Update

    Forward_only

    Scroll

  • www.themegallery.com

    Cursor Duyt cursor

    Dng lnh Fetch duyt tun t qua cursor

    Fetch

    [ [Next| Prior| First| Last| Absolute n| Relative n]

    From ] Tn_cursor

    [Into @Tn_bin [,n] ]

    Bin cha gi tr ca cursor. S lng bin phi = s ct tr ra ca cu select khi gn cursor

  • www.themegallery.com

    Cursor - Duyt cursor

    Mc nh : fetch next

    i vi cursor dng forward_only, ch c th fetch next

    Bin h thng @@fetch_status cho bit lnh fetch va thc hin c thnh cng hay khng

  • www.themegallery.com

    @@fetch_status

    Trc lnh fetch u tin: @@fetch_status khng xc nh

    Fetch next ln u tin: @@fetch_status =0 (thnh cng)

    @@ fetch_status 0

    Object

  • www.themegallery.com

    Trnh t s dng Khai bo cursor

    M cursor bng lnh Open

    Open tn_cursor

    Fetch (next,) cursor chuyn n v tr ph hp

    Dng lnh INTO a gi tr ca cursor vo bin

    Nu khng c lnh INTO, gi tr ca cursor s hin th ra mn hnh kt qu sau lnh fetch

    C th s dng v tr hin ti nh l iu kin cho mnh where ca cu delete/ update (nu cursor khng l read_only)

  • www.themegallery.com

    Trnh t s dng

    Lp li vic duyt v s dng cursor, c th s dng bin @@fetch_status bit duyt qua ht cursor hay cha.

    ng cursor bng lnh Close Close Tn_cursor

    Hy cursor bng lnh deallocate Deallocate Tn_cursor

    Sau khi ng, vn c th m li nu cursor cha b hy

  • www.themegallery.com

    V d 1 --1. Khai bo

    Declare cur_DSKhoa Cursor

    For Select MaKhoa, TenKhoa From Khoa

    --2. M cursor

    Open cur_DSKhoa

    Declare @MaKhoa int, @TenKhoa varchar(30)

    --3. Np cursor ln 1

    Fetch Next From cur_DSKhoa into @MaKhoa,

    @TenKhoa

  • www.themegallery.com

    --4. Fetch ln 2n

    While @@fetch_status = 0

    Begin

    update SinhVien

    set MaSV = MaKhoa +MaSV

    Where MaKhoa = @MaKhoa

    Fetch Next From cur_DSKhoa into @MaKhoa,

    @TenKhoa

    End

  • www.themegallery.com

    --5. ng cursor

    Close cur_DSKhoa

    --6. Hy cursor

    Deallocate cur_DSKhoa

  • www.themegallery.com

    V d 2 Dng cursor cp nht dng xc nh

    Declare cur_DSKhoa cursor scroll For

    select MaKhoa, TenKhoa

    From Khoa

    Open cur_DSKhoa

    Fetch Absolute 2 From cur_DSKhoa

    If (@@fetch_status = 0)

    Update Khoa

    Set TenKhoa = aaa

    Where current of cur_DSKhoa

    Close cur_DSKhoa

    Deallocate cur_DSKhoa

  • www.themegallery.com

    Ni dung

    Cu trc lnh

    Kiu d liu cursor

    Th tc thng tr

    Hm ngi dng 4

    1

    2

    3

  • www.themegallery.com

    Hm ngi dng

    Ging stored procedure:

    L m lnh c th ti s dng

    Chp nhn cc tham s input

    Dch mt ln v t c th gi khi cn

    Khc stored procedure

    Chp nhn nhiu kiu gi tr tr v (ch mt gi tr tr v)

    Khng chp nhn tham s output

    Khc v cch gi thc hin

  • www.themegallery.com

    Hm ngi dng

    Phn loi : gm 3 loi

    Gi tr tr v l kiu d liu c s (int, varchar, float, datetime) th mc Scalar value function

    Gi tr tr v l Table c c t mt cu truy vn th mc Table value function

    Gi tr tr v l table m d liu c c nh tch ly dn sau mt chui thao tc x l v insert. th mc Table value function

  • www.themegallery.com

    Hm ngi dng

    Loi 1: Gi tr tr v l kiu d liu c s

    Create function func_name

    ( {parameter_name DataType [= default ] }

    [,n])

    Returns DataType

    As

    Begin

    Return {value | variable | expression}

    End

    D khng c tham s cng phi ghi cp ngoc rng

    D thn function ch c 1 lnh cng phi t gia Begin v End

  • www.themegallery.com

    V d

    Tm s ln nht trong 3 s a, b, c Create function UF_SoLonNhat (@a int,@b int,@c int)

    Returns int

    As

    Begin

    Declare @max int

    Set @max = @a

    If @b > max set @max = @b

    If @c > max set @max = @c

    Return @max

    End

  • www.themegallery.com

    Hm ngi dng

    Loi 2: Gi tr tr v l Table c c t mt cu truy vn

    Create function func_name

    ( {parameter_name DataType [= default ] }

    [,n])

    Returns Table

    As

    Return [ ( ]select_statement [ ) ]

    Go

    Thn function lun

    ch c mt lnh,

    khng t trong cp

    Begin -End

  • www.themegallery.com

    Hm ngi dng

    Loi 3: Gi tr tr v l table m d liu c c nh tch ly dn sau mt chui thao tc x l v insert.

    Create function func_name

    ( {parameter_name DataType [= default ] } [,n])

    Returns TempTab_name Table(Table_definition)

    As

    Begin

    Return

    End

  • www.themegallery.com

    V d Create function uf_DanhSachLop

    Returns @DS

    Table(MaLop varchar(10),SoSV int)

    As

    Declare cur_L cursor for Select Ma From Lop

    Declare @Ma varchar(10)

    Open cur_L

    Fetch next from cur_L into @Ma

    While @@fetch_status=0

    Begin

    . End

    Close cur_L

    Deallcocate cur_L

    Return

    Go

    Insert into @DS

    Values (@Ma, (select count(*) from

    SinhVien where Lop=@Ma))

    Fetch next from cur_L into @Ma

  • www.themegallery.com

    S dng hm

    Cc hm ngi dng c s dng trong cu truy vn, trong biu thc ph hp kiu d liu tr v ca n

    V d:

    Select dbo.SoLonNhat(3,5,7)

    Select * from DanhSachLop()

  • www.themegallery.com

    Hm ngi dng

    Lu : khi gi hm loi 1 (tr v gi tr c bn), phi c tn owner ca hm i km

    V d dbo.uf_SoLonNhat()

  • www.themegallery.com

    Hm ngi dng

    Thay i hm ngi dng

    Thay t kha create trong cc lnh to hm bng t kha alter

    Xa hm ngi dng

    Drop Function Tn_Hm_Cn_Xa

    V d :

    Drop Function uf_DanhSachMatHang

  • www.themegallery.com

    Hm ngi dng

    Ngoi cc hm do ngi dng nh ngha, SQL Server cn cung cp cc hm xy dng sn ca h thng

    Cc hm ny cung cp tin ch nh x l chui, x l thi gian, x l s hc

    Sinh vin tm hiu thm v cc hm ny trong Books on-line v cc ti liu tham kho

  • www.themegallery.com

    Hm ngi dng

    Th mc cha hm ngi dng

    Th mc cha hm h thng

    Loi 1

    Loi 2, 3

  • www.themegallery.com

    Bi tp

    SinhVien (MaSV, HoTen, MaLop)

    Lop(MaLop, Siso)

    KetQua(MaSV, MaMH, Diem)

    1. Vit hm tnh im trung bnh ca sinh vin.

    2. Vit hm tm m sinh vin c im trung bnh cao

    nht.

    3. Vit hm xut danh sch cc sinh vin c im < 5.

    4. Vit th tc xp loi cho sinh vin (gi hm cu 1).

  • Q & A