Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
469 KB
Nội dung
1 CƠ BẢN VỀ LẬP TRÌNH BẰNG TRANSACT – SQL 10 10 2 1. Khái niệm cơ bản: 1. Khái niệm cơ bản: a. Qui tắc định danh: a. Qui tắc định danh: Tối đa 128 ký tự. Tối đa 128 ký tự. Bắt đầu là một ký tự thông thường A->Z Bắt đầu là một ký tự thông thường A->Z Bắt đầu là một ký hiệu (@,#) sẽ có một ý nghĩa Bắt đầu là một ký hiệu (@,#) sẽ có một ý nghĩa khác. khác. Những định danh nào có khoảng trắng ở giữa thì Những định danh nào có khoảng trắng ở giữa thì phải kẹp trong dấu [] oặc “ ” phải kẹp trong dấu [] oặc “ ” Các định danh không được trùng lắp và không Các định danh không được trùng lắp và không trùng với từ khóa của T-SQL. trùng với từ khóa của T-SQL. 3 b. Tham chiếu đến các đối tượng: b. Tham chiếu đến các đối tượng: Tên đầy đủ: Tên đầy đủ: Server.database.ower.object Server.database.ower.object Tên ngắn: Nếu là local server thì ta khỏi chỉ Tên ngắn: Nếu là local server thì ta khỏi chỉ Server, nếu ở CSDL hiện hành thì không cần chỉ Server, nếu ở CSDL hiện hành thì không cần chỉ Database; Database; Owner Owner mặc định là user name trong mặc định là user name trong Database. Database. Nếu tham chiếu tường minh thì tăng tốc. Nếu tham chiếu tường minh thì tăng tốc. Ví dụ: Ví dụ: Create Table Create Table Northwind orederhist Northwind orederhist Create Table Create Table Northwind.dbo.orederhist Northwind.dbo.orederhist Database Owner (dbo) user có đầy đủ các quyền Database Owner (dbo) user có đầy đủ các quyền thao tác trong CSDL. Bất kỳ một thành viên thao tác trong CSDL. Bất kỳ một thành viên thuộc nhóm sysadmin thì mặc nhiên thuộc dbo. thuộc nhóm sysadmin thì mặc nhiên thuộc dbo. 4 c. Kiểu dữ liệu (data type): c. Kiểu dữ liệu (data type): xem lại bài 5 – Tr.43 xem lại bài 5 – Tr.43 d. Batch: d. Batch: là một tập các phát biểu T-SQL nằm liên là một tập các phát biểu T-SQL nằm liên tiếp và kết thúc bởi phát biểu GO tiếp và kết thúc bởi phát biểu GO Vd: Vd: USE USE giaotrinh_db giaotrinh_db GO GO Create View Create View vw_NhanVien vw_NhanVien AS AS Select Select * * From From NhanVien NhanVien GO GO Select Select * * From From vw_NhanVien vw_NhanVien GO GO 5 Ghi chú: Ghi chú: Các phát biểu trong 1 batch được biên dịch Các phát biểu trong 1 batch được biên dịch thành một nhóm. thành một nhóm. Nếu một trong phát biểu của batch bị lỗi thì Nếu một trong phát biểu của batch bị lỗi thì batch cũng xem như lỗi. batch cũng xem như lỗi. Các phát biểu Các phát biểu Create Create bị ràng buộc trong một bị ràng buộc trong một batch batch đơn, tức trong batch đó chỉ có phát biểu đơn, tức trong batch đó chỉ có phát biểu Create. Các phát biểu đó là: Create DataBase, Create. Các phát biểu đó là: Create DataBase, Create Table, Create Index,… Create Table, Create Index,… e. e. Kịch bản (Script) Kịch bản (Script) Một Script là một tập của một hay nhiều bó lệnh Một Script là một tập của một hay nhiều bó lệnh được lưu lại thành một tập tin SQL được lưu lại thành một tập tin SQL 6 2. Biến (Variable) 2. Biến (Variable) Biến được dùng để: Biến được dùng để: Phải được khai báo trước khi dùng. Phải được khai báo trước khi dùng. Các loại biến: biến cục bộ (local) và biến toàn Các loại biến: biến cục bộ (local) và biến toàn cục (Global: được SQL Server đưa ra và có thể cục (Global: được SQL Server đưa ra và có thể dùng bất cứ khi nào và không cần khai báo dùng bất cứ khi nào và không cần khai báo Biến cục bộ (Local variable) Biến cục bộ (Local variable) Được khai báo trong phần thân của một bó lệnh Được khai báo trong phần thân của một bó lệnh hoặc một thủ tục. hoặc một thủ tục. Phạm vi hoạt động của biến bắt đầu từ điểm mà Phạm vi hoạt động của biến bắt đầu từ điểm mà nó được khai báo cho đến khi kết thúc một lô nó được khai báo cho đến khi kết thúc một lô (batch) (batch) hoặc hoặc stored procedure stored procedure hoặc hoặc Function Function mà mà nó được khai báo. nó được khai báo. Tên của biến bắt đầu @ Tên của biến bắt đầu @ 7 a. Khai báo (Declare): a. Khai báo (Declare): DECLARE DECLARE @var_name @var_name var_type var_type [,…n] [,…n] Gán giá trị cho biến: Gán giá trị cho biến: Nếu biến vừa khai báo xong thì biến mặc nhiên Nếu biến vừa khai báo xong thì biến mặc nhiên được gán giá trị là NULL. được gán giá trị là NULL. Để gán biến ta dùng lệnh Để gán biến ta dùng lệnh Set Set hoặc dùng câu lệnh hoặc dùng câu lệnh Select Select Syntax: Syntax: SET SET @var_name = @var_name = expression expression SELECT SELECT {@var_name = {@var_name = expression expression } [,…n] } [,…n] 8 Use Use giaotrinh_db giaotrinh_db GO GO Declare Declare @NamLV int @NamLV int Set Set @NamLV = 1994 @NamLV = 1994 Select Select * * From From NhanVien NhanVien Where Where Year Year (NgayLamViec) = @NamLV (NgayLamViec) = @NamLV GO GO Use Use giaotrinh_db giaotrinh_db GO GO Declare Declare @TenDem @TenDem nvarchar nvarchar (10) (10) , , @HoTen @HoTen nvarchar nvarchar (50) (50) Set @TenDem = N Set @TenDem = N ' ' Van Van ' ' Select Select @HoTen = Ho + @HoTen = Ho + ' ' ' ' + Ten + Ten From From NhanVien NhanVien Where Where Ho Like Ho Like '%' + '%' + @TenDem @TenDem + '%' + '%' Select Select @ @ HoTen HoTen GO GO 9 3. Cấu trúc điều khiển: 3. Cấu trúc điều khiển: a. a. Khối Khối BEGIN … END BEGIN … END b. PRINT: b. PRINT: Dùng để in thông tin ra màn hình kết quả Dùng để in thông tin ra màn hình kết quả của SQL của 1 Biểu thức, chuỗi, hàm, biến…. của SQL của 1 Biểu thức, chuỗi, hàm, biến…. VD: VD: PRINT PRINT N ‘Chào bạn’ N ‘Chào bạn’ PRINT PRINT @@VERSION @@VERSION PRINT PRINT N‘Hai nhân năm = ‘ + N‘Hai nhân năm = ‘ + Cast Cast (2*5 as char(4)) (2*5 as char(4)) c. Cấu trúc điều khiển: c. Cấu trúc điều khiển: IF … ELSE IF … ELSE Syntax: Syntax: IF IF condition condition {statement} {statement} [ ELSE [ ELSE [Condition 1 ] [Condition 1 ] {statement} {statement} ] ] 10 USE USE GiaoTrinh_db GiaoTrinh_db IF IF ( ( Select Select Count Count (*) (*) From From KhachHang KhachHang Where Where TenCongTy = ‘ABC’ TenCongTy = ‘ABC’ ) ) > 0 > 0 Begin Begin Print Print ‘Có Công ty tên là ABC’ ‘Có Công ty tên là ABC’ End End ELSE ELSE Begin Begin Print Print ‘Không Có Công ty tên là ABC’ ‘Không Có Công ty tên là ABC’ End End [...]... WHEN @a $50 BREAK ELSE CONTINUE END PRINT 'Too much for the market to bear' 15 e Lệnh RETURN: RETURN [integer_expression] Return kết thúc tiến trình trình xử lý, Return thường được dùng trong thủ tục lưu trữ (Store Procedure) f Lệnh WAITFOR: Là một chỉ thị cho SQL Server tạm dừng một thời... TIME ‘Time’: Hệ thống được tạm dừng đến thời gian ‘Time’ chỉ ra VD: WAITFOR TIME ’02:10’ 16 g Lệnh RAIREEOR Phát sinh lỗi của người dùng Người dùng có thể phát sinh các lỗi từ bảng sysmessage hoặc xây dựng lỗi động tùy thông tin của người dùng RAISERROR ({msg_id | msg_str} {, severity, state} [,argument [,…n]]) [WITH option [,…n]] Thêm một lỗi mới của người dùng định nghĩa: Sp_addMessage msg_ID, severity,... mặc định là FALSE ‘replace’: Nếu được chỉ định chuỗi REPLACE, thì thông báo lỗi đã tồn tại được ghi đè bởi chuỗi thông báo mới và mức lỗi mới Tham số này phải chỉ định nếu msg_id đã có Lưu ý: Nếu trả về 0 tức là thêm vào thành công, 1 thất bại 18 . 1 CƠ BẢN VỀ LẬP TRÌNH BẰNG TRANSACT – SQL 10 10 2 1. Khái niệm cơ bản: 1. Khái niệm cơ bản: a. Qui tắc định danh: a. Qui tắc định danh: Tối. Boolean_expression {sql_ statement | statement_block} {sql_ statement | statement_block} [ BREAK ] [ BREAK ] {sql_ statement | statement_block} {sql_ statement | statement_block} [ CONTINUE ] [ CONTINUE ] [BREAK]: [BREAK]: . Index,… e. e. Kịch bản (Script) Kịch bản (Script) Một Script là một tập của một hay nhiều bó lệnh Một Script là một tập của một hay nhiều bó lệnh được lưu lại thành một tập tin SQL được lưu lại