Lập trình T SQL - slide
Chương 2Lập trình T-SQL Database Design and Implementation with SQL Server / Session 2 /2 of 36Ôn tậpThiết kế CSDL:Định nghĩa thiết kế CSDLSự cần thiết của thiết kế CSDLCơ bản về thiết kế CSDLSơ đồ quan hệ thực thể, chuẩn hóa và từ điển dữ liệu Database Design and Implementation with SQL Server / Session 2 /3 of 36Mục đích bài họcNắm vững các khái niệm lô (batch) và xử lý theo lôViết các câu lệnh SQL điều khiển đăng nhập thể hiện logic của ứng dụngĐịnh nghĩa và gán giá trị cho các biếnViết các lệnh SQL dùng các hàm SQL cơ bảnSử dụng hàm SQL trong truy vấn Database Design and Implementation with SQL Server / Session 2 /4 of 36Giới thiệu về xử lý theo lô (SQL Batch Processing)Lô (Batch)Các lệnh SQL riêng rẽĐược nhóm lại thành lô (batch)Được biên dịch thành một kế hoạch thực thi Database Design and Implementation with SQL Server / Session 2 /5 of 36Định nghĩaQuá trình trong đó một tập lệnh được xử lý cùng lúc được gọi là Database Design and Implementation with SQL Server / Session 2 /6 of 36Ví dụ về một lô (batch)Use PubsSelect * from authorsUpdate authors set phone= '890 451-7366‘where au_lname= 'White'GoLệnh báo hiệu kết thúc lô Database Design and Implementation with SQL Server / Session 2 /7 of 36Chú thích trong một lô xử lýCác chuỗi ký tự trong mã lệnh chương trình (còn được gọi là chú thích) không được xử lý bởi trình biên dịch. Dùng để giải thích cho mã lệnh hay vô hiệu hóa tạm thời các thành phần câu lệnh T-SQL đang xử lý Giúp việc bảo trì mã lệnh dễ dàng hơn. Chú thích thường được sử dụng để ghi lại tên chương trình, tên tác giả và ngày tháng thực hiện thay đổi mã lệnh. Chú thích có thể được dùng để mô tả các phép tính toán phức tạp hay giải thích về phương pháp lập trình. Database Design and Implementation with SQL Server / Session 2 /8 of 36Các hình thức chú thíchSQL Server hỗ trợ hai hình thức chú thích: 1) --(hai ghạch ngang)Ví dụ:USE NorthwindGO-- Đây là chú thích. 2) /* . */ (cặp dấu ghạch chéo và dấu sao)Ví dụ:SELECT * FROM Employees /*Đây là chú thích*/ Database Design and Implementation with SQL Server / Session 2 /9 of 36Chú thích nhiều dòngChú thích nhiều dòng /* */ không thể vượt quá một lô. Một chú thích hoàn chỉnh phải nằm trong một lô xử lý. Ví dụ, trong công cụ Query Analyzer, lệnh GO báo hiệu kết thúc lô. Khi gặp lệnh GO trên dòng lệnh nó sẽ gửi tất cả các mã lệnh sau từ khóa GO cuối cùng lên máy chủ SQL trong một lô xử lý. Nếu lệnh GO xuất hiện trên một dòng giữa /* và */ thì Query Analyzer sẽ gửi đi một đoạn chú thích có các ký tự đánh dấu sai trong mỗi lô và sẽ gây ra lỗi cú pháp. Database Design and Implementation with SQL Server / Session 2 /10 of 36Các lệnh điều khiển [...]... việc bảo trì mã lệnh dễ dàng hơn. Chú thích thường được sử dụng để ghi lại t n chương trình, t n t c giả và ngày tháng thực hiện thay đổi mã lệnh. Chú thích có thể được dùng để mơ t các phép t nh t n phức t p hay giải thích về phương pháp lập trình. Database Design and Implementation with SQL Server / Session 2 /30 of 36 Date Parts DatePart T vi t t t Giá trị Hour hh 0-2 3 Minute Mi 0-5 9 Second... Implementation with SQL Server / Session 2 /5 of 36 Định nghĩa Q trình trong đó m t tập lệnh được xử lý cùng lúc được gọi là Database Design and Implementation with SQL Server / Session 2 /18 of 36 RETURN RETURN: Ta có thể dùng RETURN b t cứ lúc nào để tho t khỏi m t đoạn lệnh hay m t thủ t c. Các lệnh sau t khóa RETURN sẽ khơng được thực thi. Cú pháp: RETURN [số nguyên] Chương 2 Lập trình T- SQL ... T- SQL Database Design and Implementation with SQL Server / Session 2 /21 of 36 Biến cục bộ Database Design and Implementation with SQL Server / Session 2 /35 of 36 T m t t bài học Lơ xử lý la m t tập hợp các câu lệnh SQL được coi như m t đơn vị và được coi là m t đơn vị thực thi trên máy chủ. M t thủ t c lưu trữ là m t tập hợp các câu lệnh T- SQL được biên dịch thành m t kế hoạch thực thi. Các... ghi trong cursor mở gần nh t. @@DATEFIRST Giá trị hiện t i của tham số trong lệnh SET DATEFIRSTquy t định ngày đầu tiên của tuần. @@ERROR Mã lỗi của lỗi xảy ra gần nh t @@FETCH_STATUS 0 nếu trạng thái lần truy xu t cuối thành cơng. -1 nếu có lỗi Database Design and Implementation with SQL Server / Session 2 /13 of 36 IF ELSE IF ELSE: Chúng ta có thể thực thi các t p lệnh SQL khác nhau dựa vào các... (tiếp…) Datepart T vi t t t Giá trị Week wk 1-5 3 Weekday dw 1-7 Month mm 1-1 2 Quarter qq 1-4 Year yy 175 3-9 999 Database Design and Implementation with SQL Server / Session 2 /28 of 36 Hàm Database Design and Implementation with SQL Server / Session 2 /6 of 36 Ví dụ về m t lơ (batch) Use Pubs Select * from authors Update authors set phone= '890 45 1-7 366‘ where au_lname= 'White' Go Lệnh... thống Hàm DB_ID([‘database_name’]) DB_NAME([database_id]) HOST_ID() HOST_NAME() ISNULL(expr,value) OBJECT_ID(‘obj_name’) OBJECT_NAME(object_id) SUSER_SID([‘login_name’]) SUSER_ID([‘login_name’]) SUSER_SNAME([server_user_id]) SUSER_NAME([server_user_id]) USER_ID([‘user_name’]) USER_NAME([user_id]) Database Design and Implementation with SQL Server / Session 2 /24 of 36 Các biến toàn cục Biến toàn cục trong SQL Server b t đầu bằng 2 ký t @. Ta có thể truy xu t giá trị của các biến này bằng truy vấn SELECT đơn giản Database Design and Implementation with SQL Server / Session 2 /34 of 36 Các hàm t p hợp Hàm Giá trị trả về Sum(col_name) Trả về giá trị t ng. Avg(col_name) Trả về giá trị trung...Database Design and Implementation with SQL Server / Session 2 /32 of 36 Các hàm ngày tháng và số học Các hàm ngày tháng GETDATE() DATEADD(datepart,number,date) DATEDIFF(datepart,date1,date2) DATENAME(datepart,date) DATEPART(datepart,date) Các hàm số học ABS(num_expr) CEILING(num_expr) FLOOR(num_expr) POWER(num_expr,y) ROUND(num_expr,length) Sign(num_expr) Sqrt(float_expr) Database Design... Database Design and Implementation with SQL Server / Session 2 /2 of 36 Ôn t p Thi t kế CSDL: Định nghĩa thi t kế CSDL Sự cần thi t của thi t kế CSDL Cơ bản về thi t kế CSDL Sơ đồ quan hệ thực thể, chuẩn hóa và t điển dữ liệu Database Design and Implementation with SQL Server / Session 2 /22 of 36 Gán giá trị cho biến T khóa SET hay SELECT được dùng để gán giá trị cho biến. Cú pháp: SET... bình. COUNT(*) Hàm đếm các bản ghi trong bảng thỏa mãn điều kiện Max(col_name) Trả về giá trị lớn nh t trong m t tập giá trị. Min(col_name) Trả về giá trị nhở nh t trong m t tập hợp. Database Design and Implementation with SQL Server / Session 2 /12 of 36 BEGIN END BEGIN END : M t tập lệnh SQL được thực thi sẽ được đ t trong BEGIN END. Cú pháp: BEGIN { lệnh | đoạn lệnh } END Database Design... Implementation with SQL Server / Session 2 /27 of 36 Định nghĩa và gán giá trị cho biến cục bộ Database Design and Implementation with SQL Server / Session 2 /7 of 36 Chú thích trong m t lơ xử lý Các chuỗi ký t trong mã lệnh chương trình (cịn được gọi là chú thích) khơng được xử lý bởi trình biên dịch. Dùng để giải thích cho mã lệnh hay vơ hiệu hóa t m thời các thành phần câu lệnh T- SQL đang . 2Lập trình T- SQL Database Design and Implementation with SQL Server / Session 2 /2 of 36Ôn t pThi t kế CSDL:Định nghĩa thi t kế CSDLSự cần thi t của thi t. country <> "USA" THEN " ;-- " ELSE stateEND,city =CASE WHEN pub_id = "9999" THEN "LYON" ELSE cityENDWHERE