intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Kịch bản (script) bó (batchs) và OSQL

Chia sẻ: Sadasdsa Sdfkasdb | Ngày: | Loại File: PDF | Số trang:24

116
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Kịch bản đơn giản Vềmặt kỹthuật, kịch bản không phải làmột kịch bản cho đến khi chúng được ghi thành 1 tập tin. Khi lưu trữthành tập tin, nếu cần chúng ta cóthể sử dụng mà không cần viết lại toàn bộ các câu lệnh SQL từ đầu. Lưu dưới dạng File Text Khi tạo ra script chúng ta cóthểsửdụng các hàm của hệ thống, các câu lệnh đã được đề cập trước

Chủ đề:
Lưu

Nội dung Text: Kịch bản (script) bó (batchs) và OSQL

  1. Kịch bản (script) bó (batchs) và OSQL Nguyễn Trọng Anh E-Mail: anh@tronganh.com tronganh@gmail.com Home: http://www.tronganh.com
  2. Tóm tắt •Khái niệm cơ bản về kịch bản (script) •Khai báo biến trong SQL Server •Sử dụng hàm IDENTITY •Sử dụng hàm ROWCOUNT •Khái niệm cơ bản về OSQL 1-2 SQL server 2000 – Transact SQL
  3. Khái niệm về kịch bản (script) Khi soạn thảo các câu lệnh SQL ở những phần trước, hầu hết những câu lệnh mà ta sử dụng được gọi là kịch bản SQL hay Script Các câu lệnh Create, Alter, hay Select chúng ta thực hiện dưới mọi hình thức đều được gọi là kịch bản. Bất kỳ một Script nào được tạo ra đều có mục đích rõ ràng. 1-3 SQL server 2000 – Transact SQL
  4. Kịch bản đơn giản Về mặt kỹ thuật, kịch bản không phải là một kịch bản cho đến khi chúng được ghi thành 1 tập tin. Khi lưu trữ thành tập tin, nếu cần chúng ta có thể sử dụng mà không cần viết lại toàn bộ các câu lệnh SQL từ đầu. Lưu dưới dạng File Text Khi tạo ra script chúng ta có thể sử dụng các hàm của hệ thống, các câu lệnh đã được đề cập trước 1-4 SQL server 2000 – Transact SQL
  5. Câu lệnh USE Dùng để khai báo cơ sở dữ liệu hiện tại. Chỉ ra đối tượng của CSDL có thể xử lý được. Nếu không chỉ rõ cơ sở dữ liệu thì các câu lệnh có hiệu lực đối với CSDL hiện hành. Nên sử dụng khi gọi CSDL khác với CSDL hiện tại đang dùng 1-5 SQL server 2000 – Transact SQL
  6. Khai báo biến trong SQL Server Khi thực hiện các câu lệnh SQL trong bất kỳ ứng dụng nào chúng ta đều cần đến nhu cầu tính toán. Khi tính toán thường ta cần khai báo biến hoặc sử dụng một số phép toán. Khi khai báo nhiều biến, ta sử dụng dấu phẩy để ngăn cách các biến. 1-6 SQL server 2000 – Transact SQL
  7. Cú pháp khai báo biến Declare @ [, @ ] [, @ ] Khai báo một, biến có giá trị ban đầu là NULL cho đến khi biến đó được gán giá trị. Các ứng dụng trong quá trình tính toán, sử dụng phép tính hoặc hàm hệ thống, biến được khai báo để thực hiện mục đích này của người lập trình. 1-7 SQL server 2000 – Transact SQL
  8. Ví dụ khai báo biến Declare @Amount int Declare @FullName varchar(20) Declare @Address,email varchar(200) Declare @phone,mobile varchar(200), @salary int Nếu khai báo nhiều biến tắt, các biến đó có cùng kiểu giá trị. Kết thúc một nhóm biến có cùng kiểu dữ liệu cách nhau dấu phẩy. 1-8 SQL server 2000 – Transact SQL
  9. Gán cho biến giá trị cụ thể Gán với một giá trị trực tiếp SET @Luong = 500 Gán giá biến từ một biến và giá trị hằng SET @VATluong = 500 * 0.1 Gán giá trị đó là kết quả của biểu thức SELECT SET @tongluong = (Select sum(Luong) from BangLuong) If @Tongluong is NULL @Tongluong = 0 1-9 SQL server 2000 – Transact SQL
  10. Chú ý khi gán giá trị từ câu lệnh SELECT Khi sử dụng phép gán biến với giá trị từ một biểu thức SELECT cần chú ý: – Giá trị trả về có cùng kiểu dữ liệu của biến – Nếu biến không phải là mảng, giá trị phải là duy nhất. – Phép gán biến không cho phép sử dụng trong các câu lệnh SQL 1-10 SQL server 2000 – Transact SQL
  11. Một số hàm hệ thống thông dụng @@DATEFIRST : trả về ngày đầu tiên trong tuần. Nếu thay đổi ngày hệ thống thì kết quả trả về theo hệ thống thay đổi theo. @@FETCH_STATUS: Sử dụng chung với FETCH. Trả về 0 nếu đọc mẩu tin hợp lệ, -1 con trỏ đang ở cuối bảng, -2 bản ghi đó đang bị xoá. @@IDENTITY: Trả về giá trị nhận dạng cuối cùng của câu lệnh SELECT hay INSERT INTO @@ROWCOUNT: trả về số bản ghi có ảnh hưởng đến câu lệnh SQL cuối cùng. 1-11 SQL server 2000 – Transact SQL
  12. Một số hàm hệ thống thông dụng @@ERROR: trả về mã lỗi của câu lệnh SQL sau cùng của kết nối đang mở. @@SERVERNAME: Trả về tên của máy chủ cục bộ mà kịch bản SQL đang thực thi. @@TRANCOUNT: Trả về số lượng các nghiệp vụ SQL server với các kết nối hiện tại 1-12 SQL server 2000 – Transact SQL
  13. Sử dụng @@ROWCOUNT Trong nhiều trường hợp SELECT, chúng ta muốn biết có bao nhiêu bản ghi trong bảng vừa truy vấn. Sử dụng biến để gán giá trị lấy được từ hàm ROWCOUNT vào biến cục bộ select * from shippers where shipperID < 5 declare @mautin int select @mautin = @@ROWCOUNT print 'So mau tin :' + str(@mautin) 1-13 SQL server 2000 – Transact SQL
  14. BÓ - BATCH 1-14 SQL server 2000 – Transact SQL
  15. BÓ - Batch Bó là một nhóm câu lệnh SQL được nhóm lại thành 1 đơn vị, tất cả câu lệnh SQL trong bó có thể thực hiện như một đoạn lệnh chương trình. Những câu lệnh này có thể quan hệ với nhau và được thực hiện một cách liên tục Nếu lỗi phát sinh, thì các câu lệnh đằng sau sẽ bị bỏ qua. Trong trường hợp có nhiều bó thì cần dùng phát biểu GO để phân chia các bó 1-15 SQL server 2000 – Transact SQL
  16. BÓ - Batch Mỗi bó được gửi đến Server và được thực hiện độc lập. Khi một bó nào đó có lỗi. Các bó khác vẫn bình thực hiện độc lập Biến được khai báo và có hiệu lực trong phạm vi của Bó 1-16 SQL server 2000 – Transact SQL
  17. Sử dụng Go, trường hợp lỗi declare @loichao varchar(50) select @loichao = 'Xin chao' print 'Batch dau tien' Go print @loichao print 'Batch thu 2' Go print 'Batch thu 3' Go 1-17 SQL server 2000 – Transact SQL
  18. Chú ý Go không phải là câu lệnh SQL. Nếu sử dụng Go khi dùng các phương thức ODBC, hay ADO DB … hoặc bất kỳ phương thức truy cập cơ sở dữ liệu nào khác sẽ phát sinh lỗi từ SQL trả về 1-18 SQL server 2000 – Transact SQL
  19. OSQL OSQL là mộ công cụ cho phép thực hiện câu lệnh SQL tại dấu nhắc cửa sổ DOS osql -Usa -P -d northwind -Q "Select * from shippers" 1-19 SQL server 2000 – Transact SQL
  20. OSQL Chúng cũng có thể chạy kịch bản trong file ở dấu nhắc của DOS. Lưu nội dung các câu lệnh vào file.sql Có nội dung: select * from shippers select * from shippers where shipperid < 5 Sau đó gọi lệnh sau: osql -Usa -P -d northwind -i file.sql 1-20 SQL server 2000 – Transact SQL
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2