1. Trang chủ
  2. » Công Nghệ Thông Tin

ngôn ngữ lập trình căn bản trong sql server

37 343 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 8,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CĂN BẢN NGÔN NGỮ  Tr ạ ng thái Cursor @@fetch_status lần đi kế tiếp thành công ≠0 : Ngoài dòng dữ liệu công... CĂN BẢN NGÔN NGỮ  Ví d ụIn các sinhvienmasv char5,tensv char10 Declare sv

Trang 1

NGÔN NGỮ LẬP TRÌNH

Phan Hiền

1

Trang 2

Ki

ể u d ữ li ệ u

Toán t ử : + - * / %

2

Trang 7

deallocate tên_biến_cursor

Trang 9

CĂN BẢN NGÔN NGỮ

 Tr ạ ng thái Cursor

@@fetch_status

(lần đi kế tiếp thành công)

≠0 : Ngoài dòng dữ liệu

công)

Trang 10

Print @t

Trang 11

CĂN BẢN NGÔN NGỮ

 Ví d ụIn các sinhvien(masv char(5),tensv char(10))

Declare sv cursor for select * from sinhvien

Open sv

Declare @ma char(5),@ten char(10)

Fetch next from sv into @ma,@ten

While (@@fetch_status = 0)

begin

print @ma + ‘ : ‘ + @tenFetch next from sv into @ma,@tenend

Close sv; Deallocate sv

Trang 14

THỦ TỤC (STORE PROCEDURE)

 Ví d ụViết thủ tục xóa các sinh viên theo thành phố

sinhvien (masv char(5), tp char(5))

create procedure xoasinhvien

@tp char(5)as

begin

delete from sinhvien where tp = @tpend

Trang 16

declare @tong int

exec dem ‘HCM’ , @tong output

Trang 19

declare @tong int

set @tong = dbo.dem(‘HCM’)

Trang 20

HÀM (FUNCTION)

 Ví d ụ

Viết hàm sinh ra mã sinh viên tự động theo quy tắc

- Mã sinh viên có dạng: BA0001

‘BA’ : quy định (luôn có)

0001 : là số

VD:

Hiện tại sinh viên có mã cao nhất là BA0024

Thì sinh mã mới là BA0025

Trang 21

declare @s char(8), @s1 char(6)

set @s = ‘0000’ + cast(@max as char(4))

set @s1 = ‘BA’ + right(rtrim(@s),4)

return @s1

end

Trang 22

HÀM (FUNCTION)

as

)

Trang 23

HÀM (FUNCTION)

create function laydssv1 (@malop char(5))

returns @btam table(masv char(5),tensv char(20))as

begin

insert into @btam select masv,tensv from sinhvien

where malop = @malopreturn

end

select * from laydssv1('QT1')

Trang 24

BẨY SỰ KIỆN (TRIGGER)

vi

g

ợc

Trang 25

đưa vào và giá trị cũ được xóa bỏ.

Trang 27

Lệnh bẩy sự kiện

24

BẨY SỰ KIỆN (TRIGGER)

 B ả ng t ạ m cho b ẩ y s ự ki ệ n

VD:

Trang 28

=> Vào bảng inserted là bộ (‘BA0002’,’aaa’,’HN’)

=> Vào bảng deleted là bộ (‘BA0002’,’aaa’,’HCM’)

Trang 32

(Update T1, kích chạy Trigger 1 Trigger 1 chạy update T2, kích chạy Trigg

er 2.

Trigger 2 chạy update T1, kích chạy Trigger 1 …)

Lồng nhau được tối đa là 32 cấp độ.

27

Trang 33

BẨY SỰ KIỆN (TRIGGER)

Trang 34

 Tạo trigger cho bảng sinhvien (masv, tensv, malop)thỏa mãn điều kiện một lớp không quá 20 người.

Create trigger tssv on sinhvien for insert,update AsBegin

declare @malop char(5), @ts intselect @malop = malop from insertedselect @ts = count(*) from sinhvien

where malop=@malop

if (@ts > 20)

rollback transactionend

Trang 35

BẨY SỰ KIỆN (TRIGGER)

Trang 36

thỏa mãn điều kiện khi xóa một sinh viên tức thay đổitrạng thái từ 0 thành 1.

Create trigger tssv on sinhvien instead of delete AsBegin

update sinhvien set trangthai = 1where masv in

(select masv from deleted)end

Ngày đăng: 23/10/2014, 16:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w