Ngôn ngữ lập trình trong SQL server

THThiNganHang
1 lượt tải
30
0

Đang tạo bản xem trước...

Nội dung tài liệu

Trang 2

CĂN BẢN NGÔN NGỮ  Kiểu dữ liệu  Char, VarChar, Nchar, NvarChar  Bit, TinyInt, SmallInt, Int, BigInt  Float, SmallMoney, Money, Real  DateTime  Text, Image, XML  Toán tử : + - * / % ThiNganHang.com 2

Trang 3

CĂN BẢN NGÔN NGỮ  Cú pháp khai báo declare @tên_biến kiểu_dữ_liệu [,… n]  Gán giá trị set @tên_biến = giá_trị | biểu_thức | @biến | hàm VD: declare @x int, @y int set @y = 5 set @x = @y + 3 ThiNganHang.com 3

Trang 4

CĂN BẢN NGÔN NGỮ  Cấu trúc lệnh IF if (điều_kiện) lệnh …. | khối_lệnh else lệnh …. | khối_lệnh khối_lệnh := begin lệnh … | khối_lệnh end ThiNganHang.com 4

Trang 5

CĂN BẢN NGÔN NGỮ  Cấu trúc lệnh WHILE while (điều_kiện) lệnh | khối_lệnh  Lệnh ngắt vòng lặp break continue ThiNganHang.com 5

Trang 6

CĂN BẢN NGÔN NGỮ  Biến Cursor declare tên_biến_cursor cursor for câu_truy_vấn  Sử dụng open tên_biến_cursor …. close tên_biến_cursor  Hủy cursor deallocate tên_biến_cursor ThiNganHang.com 6

Trang 7

CĂN BẢN NGÔN NGỮ  Di chuyển Cursor fetch định_vị from tên_biến_cursor into @tên_biến [,… n] định_vị := next | prior | last | first | absolute (giá_trị | biến) relative (giá_trị | biến) ThiNganHang.com 7

Trang 8

CĂN BẢN NGÔN NGỮ  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) ThiNganHang.com 8

Trang 9

CĂN BẢN NGÔN NGỮ  Ví dụ Tính tổng số chẳn từ 1 -> 100 Declare @t int, @x int Set @t = 0 ; Set @x = 1 While (@x <= 100) begin if ((@x % 2) = 0) set @t = @t + @x set @x = @x + 1 end Print @t ThiNganHang.com 9

Trang 10

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 + ‘ : ‘ + @ten Fetch next from sv into @ma,@ten end Close sv; Deallocate sv ThiNganHang.com 10

Trang 11

THỦ TỤC (STORE PROCEDURE)  Tạo lập thủ tục create procedure tên_thủ_tục @tên_tham_số kiểu_dữ_liệu loại [,…n] as lệnh | khối_lệnh loại := input (không cần ghi) output ThiNganHang.com 11

Trang 12

THỦ TỤC (STORE PROCEDURE)  Thực thi thủ tục exec tên_thủ_tục giá_trị | @biến [output] [,…n]  Xóa thủ tục Drop procedure tên_thủ_tục  Thay đổi thủ tục Alter procedure tên_thủ_tục ……….. ThiNganHang.com 12

Trang 13

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 = @tp end exec xoasinhvien ‘HCM’ ThiNganHang.com 13

Trang 14

THỦ TỤC (STORE PROCEDURE)  Ví dụ Viết thủ tục đếm xem có bao nhiêu sinh viên theo thành phố. create procedure dem @tp char(5), @t int output as begin select @t = count(*) from sinhvien where tp = @tp end declare @tong int exec dem ‘HCM’ , @tong output print @tong ThiNganHang.com 14

Trang 15

HÀM (FUNCTION)  Tạo lập hàm create function tên_hàm ( @tên_tham_số kiểu [,…n] ) returns kiểu_trả_về as lệnh | khối_lệnh ThiNganHang.com 15

Trang 16

HÀM (FUNCTION)  Thực thi hàm = tên_hàm ( giá_trị | @biến [,…n] )  Xóa hàm Drop function tên_hàm  Thay đổi hàm Alter function tên_hàm ……….. ThiNganHang.com 16

Trang 17

HÀM (FUNCTION)  Ví dụ Viết hàm đếm xem có bao nhiêu sinh viên theo thành phố. create function dem (@tp char(5)) returns int as begin declare @t int select @t = count(*) from sinhvien where tp = @tp return @t end declare @tong int set @tong = dbo.dem(‘HCM’) ThiNganHang.com 17

Trang 18

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 ThiNganHang.com 18

Trang 19

HÀM (FUNCTION) Create function sinhkhoa () returns char(6) As Begin declare @max int select @max = max(cast(substring(masv,3,4) as int)) + 1 from sinhvien 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 ThiNganHang.com 19

Trang 20

HÀM (FUNCTION)  Ví dụ với Table Function create function laydssv (@malop char(5)) returns TABLE as return ( select masv,tensv from sinhvien where malop = @malop ) select * from laydssv('QT1') ThiNganHang.com 20

Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!