Danh mục

Bài giảng SQL Server 2008: Chương 5 - Nguyễn Đức Cương

Số trang: 72      Loại file: pdf      Dung lượng: 637.21 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

Xem trước 8 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng SQL Server 2008: Chương 5 - Lập trình tổng quan T-SQL do Nguyễn Đức Cương biên soạn nhằm cung cấp cho các bạn những kiến thức về biến, cấu trúc điều khiển, thủ tục (store procedures); hàm(function). Bài giảng hữu ích với các bạn chuyên ngành Công nghệ thông tin và những bạn quan tâm tới lĩnh vực này.
Nội dung trích xuất từ tài liệu:
Bài giảng SQL Server 2008: Chương 5 - Nguyễn Đức CươngChương 5 - LẬP TRÌNH T-SQL Lecturer: Nguyễn Đức Cương - FIT Email: cuongnguyenduc@gmail.com Website: http://www.nguyenduccuong.comNội dung Tổng quan Biến Cấu trúc điều khiển Thủ tục (store procedures) Hàm(function)Nguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 2TỔNG QUAN1. Sử dụng T-SQL để lập trình các script và sp thực hiện các tác vụ đặc thù trên server. Chương trình bao gồm lệnh sql, biến, cấu trúc điều khiển .2. Các khái niệm cơ bản: a. Định danh (identifiers): tên các đối tượng trong CSDL  Quy tắc:  Tối đa 128 ký tự  Bắt đầu từ ký tự a  z, hoặc các ký tự @, #  Các định danh có khoảng trắng phải đặt trong []Nguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 3TỔNG QUAN  Kiểu dữ liệu: có 2 loại  System- supplied data type  User – defined data type  Batch: tập các câu lệnh T-SQL liên tiếp kết thúc bằng lệnh GO  Script: tập của 1 hoặc nhiều các bó lệnh được lưu thành một tập tin .SQLNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 4BIẾN (Variable) Biến: có 2 loại biến: biến cục bộ và biến toàn cục 1. Biến cục bộ (Local variable): – Được khai báo bên trong một sp , một batch – Phạm vi hoạt động từ vị trí khai báo đến khi kết thúc sp, batch – Tên bắt đầu bằng ký tự @  Khai báo biến: DECLARE @ VariableName var_type Ví dụ: DECLARE @vEmpID intNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 5BIẾN (Variable)  Gán giá trị cho biến: SET @VariableName = expression Hoặc: SELECT{@VariableName=expression} [,…n] Ví dụ 1: DECLARE @temp_name varchar(20) SELECT @temp_name = companyname FROM customers WHERE customerid = ‘adsff’Nguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 6BIẾN (Variable) Ví dụ 2: DECLARE @temp_city varchar(10) SET @temp_city = ‘london’ SELECT * FROM Customers WHERE city = @temp_city Ví dụ 3: DECLARE @temp_CustID Char(5), @temp_name varchar(50) SET @temp_CustID = ‘ALFKI’ SELECT @temp_name = CompanyName FROM Customers Where CustomerID = @temp_CustID PRINT ‘CustomerID is ‘ + @temp_CustID + ‘ and Name is ‘+ @temp_nameNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 7BIẾN (Variable) 2. Biến toàn cục (Global Variables): Thực chất là các hàm có sẵn trong SQL Server. – Không thể gán giá trị cho biến – Biến toàn cục không có kiểu – Tên biến bắt đầu bằng @@  @@VERSION:  Ví dụ: Select @@ versionNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 8BIẾN (Variable)  @@SERVERNAME: tên sever Ví dụ: select @@SERVERNAME  @@ROWCOUNT: trả về số dòng bị ảnh hưởng bởi lệnh thực thi gần nhất Ví dụ: Update Employees set LastName = ‘Brooke’ Where LastName =‘Brook’ If(@@rowcount=0) begin print ‘Không dòng nào được cập nhật’ return endNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 9BIẾN (Variable)  @@ERROR: trả về số thứ tự lỗi của lệnh thực thi sau cùng, nếu trả về 0 thì câu lệnh hoàn thành  @@IDENTITY: trả về số IDENTITY phát sinh sau cùngNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 10Cấu trúc điều khiển CASE Function: Có 2 dạng a) Simple CASE function: CASE input_expression WHEN when_expression THEN result_expression [ ...n ] [ELSE else_result_expression ] END b) Searched CASE function: CASE WHEN Boolean_expression THEN result_expression [ ...n ] [ ELSE else_result_expression ] ENDNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 11Cấu trúc điều khiển Ví dụ 1: SELECT Category = CASE type WHEN popular_comp THEN Popular Computing WHEN mod_cook THEN Modern Cooking WHEN business THEN Business WHEN psychology THEN Psychology WHEN trad_cook THEN Traditional Cooking ELSE Not yet categorized‘ END CAST(title AS varchar(25)) AS Shortened Title, price AS Price FROM titles WHERE price IS NOT NULL ORDER BY type, price COMPUTE AVG(price) BY typeNguyễn Đức Cương – cuongnguyenduc@gmail.com Slide 12Cấu trúc điều khiển Ví dụ 2: SELECT ProductID, Quantity, UnitPrice, [discount%]= CASE WHEN Quantity Cấu trúc điều khiển  IF … ELSE: IF boolean_expression {sql_statement | statement_block} [ELSE boolean_expression {sql_statement | statement_block}]  BEGIN …END: Khối lệnh BEGIN {sql_statement ...

Tài liệu được xem nhiều: