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

Bài giảng Ngôn ngữ lập trình trong hệ quản trị cơ sở dữ liệu SQL server 2012

25 46 1

Đ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 25
Dung lượng 645,42 KB

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

Nội dung

Bài giảng Ngôn ngữ lập trình trong hệ quản trị cơ sở dữ liệu SQL server 2012 thông qua bài học này các bạn sẽ nắm được kiến thức về ngôn ngữ lập trình; thủ tục; hàm; bẫy sự kiện.

Trang 1

NGÔN NG  L P TRÌNH TRONG Ữ Ậ

H  QU N TR  C  S  D  LI U Ệ Ả Ị Ơ Ở Ữ Ệ

SQL SERVER 2012

Trang 6

absolute (giá_trị | biến) |

relative (giá_trị | biến)

• Tr ng thái Cursor

@@fetch_status

=0  : Đang trong dòng d  li u (l n đi k  ti p thành công) ữ ệ ầ ế ế

≠0 : Ngoài dòng d  li u (l n đi k  ti p không thành công) ữ ệ ầ ế ế

Trang 7

if ((@x % 2) = 0)

set @t = @t + @xset @x = @x + 1

end

Print @t

Trang 8

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

Fetch next from sv into @ma,@ten

While (@@fetch_status = 0)

begin

print @ma + ‘ : ‘ + @ten

Fetch next from sv into @ma,@ten

end

Close sv; Deallocate sv

Trang 9

Th  t c ủ ụ

(Procedure)  là một chương trình trong cơ sở dữ liệu gồm nhiều câu lệnh mà bạn lưu lại cho những lần sử dụng sau Trong SQL Server, bạn có thể truyền các tham số vào procedure, tuy nó không trả về một giá trị cụ thể như function (hàm) nhưng cho biết việc thực thi thành công hay thất bại.

T o l p th  t cạ ậ ủ ụ

@tên_tham_số kiểu_dữ_liệu loại [,…n]

Trang 10

delete from sinhvien where tp = @tpend

exec xoasinhvien ‘HCM’

Trang 11

declare @tong int

exec dem ‘HCM’ , @tong output

print @tong

Trang 12

(Function)

T o l p hàmạ ậ

( @tên_tham_số kiểu [,…n] ) returns kiểu_trả_về

Trang 13

declare @tong int

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

Trang 14

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 16

(ví d  table 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 = @malop

return

end

select * from laydssv1('QT1')

Trang 17

B y s  ki n ẫ ự ệ

(Trigger)

• B y l nh đ ẫ ệ ượ c phát sinh sau nh ng hành vi thêm m i hay  ữ ớ thay đ i, xóa trên b ng ổ ả

– Có th  h y các c p nh p trên d  li u ể ủ ậ ậ ữ ệ

• B y l nh đ ẫ ệ ượ c phát sinh đ  thay th  nh ng hành vi thêm,  ể ế ữ

Trang 18

B y s  ki n (trigger) ẫ ự ệ

Lo i trigger FOR ạ

18

Lưu vào dữ liệu

Insert | Update | Delete Điểm lưu (lưu thể hiện dữ liệu tại thời điểm hiện tại)

Trang 19

B y s  ki n (trigger) ẫ ự ệ

Trang 20

B y s  ki n ẫ ự ệ

(Trigger)

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

inserted: L u nh ng thông tin s p đ ư ữ ắ ượ c đ a vào d  li u ư ữ ệ

deleted:  L u nh ng thông tin đã có và chu n b  đ ư ữ ẩ ị ượ c thay th ế

B ng t m có c u trúc gi ng b ng đ t s  ki n ả ạ ấ ố ả ặ ự ệ

VD:

C p nh p sinh viên mã ‘BA0002’ v i thành ph  ‘HCM’ thành  ậ ậ ớ ố

‘HN’

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

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

Trang 21

N u c2 đ ế ượ ậ c c p nh t  ậ => 0010: k t qu  hàm là 2 ế ả

N u c1,c3,c4 đ ế ượ ậ c c p nh t  ậ => 1101: k t qu  hàm là 13 ế ả

Trang 22

B y s  ki n ẫ ự ệ

(Trigger)

Thay đ i thông s  cho phép đ  quy tr c ti p ổ ố ệ ự ế

( Update T1, kích ch y  ạ Trigger 1. Trigger 1 ch y  ạ update T1 l n n a, kích  ầ ữ

ch y  ạ Trigger 1…)

Thi t l p gi i h n l ng nhau (đ  quy gián ti p) ế ậ ớ ạ ồ ệ ế

( Update T1, kích ch y  ạ Trigger 1. Trigger 1 ch y  ạ update T2, kích ch y  ạ Trigger 2. Trigger 2 ch y  ạ update T1, kích ch y  ạ Trigger 1. …)

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

Trang 24

B y s  ki n ẫ ự ệ

(ví d )

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

where malop=@malop

if (@ts > 20)

rollback transaction end

Trang 25

update sinhvien set trangthai = 1

where masv in (select masv from deleted)

end

Ngày đăng: 08/06/2021, 11:45

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm