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

SQL Server 2000 : Cấu trúc điều khiển – Cấu trúc lặp WHILE

Chia sẻ: Pham Long | Ngày: | Loại File: DOC | Số trang:5

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

Với cấu trúc lặp, người lập trình có thể chỉ định một hoặc nhiều câu lệnh sẽ được thực hiện lặp lại nhiều lần trong khi giá trị của biểu thức luận lý so sánh vẫn còn đúng. Giống như cấu trúc rẽ nhánh, cấu trúc lặp được phép sử dụng bên trong một lô (batch) các lệnh hoặc bên trong một thủ tục nội tại.

Chủ đề:
Lưu

Nội dung Text: SQL Server 2000 : Cấu trúc điều khiển – Cấu trúc lặp WHILE

  1. SQL Server 2000 : Cấu trúc điều khiển – Cấu trúc lặp WHILE Với cấu trúc lặp, người lập trình có thể chỉ định một hoặc nhiều câu lệnh sẽ được thực hiện lặp lại nhiều lần trong khi giá trị của biểu thức luận lý so sánh vẫn còn đúng. Giống nh ư cấu trúc rẽ nhánh, cấu trúc lặp được phép sử dụng bên trong một lô (batch) các lệnh hoặc bên trong một th ủ tục n ội tại. Giữa cấu trúc rẽ nhánh và cấu trúc lặp không có th ứ tự ưu tiên khi chúng lồng vào nhau và cấp độ lồng nhau là không có giới hạn. Thực tế việc sử dụng cấu trúc lặp WHILE bị gi ới hạn trong nhi ều tr ường h ợp. B ởi vì bản thân các lệnh truy vấn cập nhật dữ liệu như là : SELECT, UPDATE SET, DELETE trong Transaction-SQL đã tự động thực hi ện vi ệc lặp từ dòng d ữ li ệu đầu tiên đến dòng dữ liệu cuối cùng bên trong bảng. Cấu trúc lặp WHILE thông thường được dùng với các biến có kiểu d ữ li ệu cursor, cách thức sử dụng biến kiểu dữ liệu cursor sẽ được hướng dẫn trong các phần sau. Cú pháp : Trong đó : • Biểu thức luận lý : thông thường là m ột bi ểu thức so sánh đ ể ch ỉ các l ệnh s ẽ đ ược lặp lại trong khi mà giá trị của biểu thức vẫn còn đúng. • Các lệnh lặp : các câu lệnh được thực hiện bên trong vòng lặp. Ví dụ : Để in ra 10 số nguyên dương bắt đầu từ 100. Bạn sử dụng c ấu trúc l ặp WHILE nh ư sau :
  2. Kết quả trả về : Bạn có thể sử dụng từ khóa BREAK lồng vào c ấu trúc l ặp WHILE đ ể có th ể k ết thúc việc lặp của các lệnh bên trong vòng lặp mà không c ần xét đ ến giá tr ị tr ả v ề c ủa bi ểu thức luận lý dùng để so sánh phía sau từ khóa WHILE phải là sai. Tuy nhiên t ừ khóa BREAK thường được sử dụng kèo theo với một biểu thức luận lý khác. Ví dụ : Thực hiện việc lặp giống ví dụ trên, tuy nhiên muốn rằng vòng lặp sẽ bị k ết thúc khi mới in tới số nguyên 105. Bạn sử dụng cấu trúc lặp WHILE như sau : Kết quả trả về :
  3. Bạn cụng có thể sử dụng từ khóa CONTINUE lồng vào cấu trúc lặp WHILE đ ể ch ỉ định các lệnh bên trong vòng lặp ở phía dưới từ khóa CONTINUE tạm thời không thực hiện tiếp, khi đó con trỏ vòng lặp sẽ nhảy về đầu dòng lặp để ki ểm tra giá tr ị c ủa biểu thức luận lý so sánh là vẫn còn đúng hay không. Tuy nhiên t ừ khóa CONTINUE thông thường được dùng kèm theo với một biểu thức luận lý khác. Ví dụ : Thực hiện việc lặp giống các ví dụ trên, tuy nhiên muốn rằng vòng l ặp sẽ in xót s ố nguyên 105. Bạn sử dụng cấu trúc lặp WHILE như sau : Kết quả trả về :
  4. Kết chứng kết quả trả về bạn suy luận khi vòng lặp thực hiện đến giá trị của bi ến @Songuyen = 105 thì khi đó lệnh PRINT "Số nguyên : " ... không đ ược th ực hi ện và con trỏ chương trình được quay lên đầu vòng lặp để kiểm tra tiếp biểu thức luận lý so sánh. Sơ đồ tóm tắt ý nghĩa của cấu trúc lặp WHILE kèm với các từ khóa CONTINUE ho ặc BREAK : Cú pháp : Ví dụ : Để tăng tự động tỷ lệ phần trăm cho các vật tư trong bảng VATTU theo quy tắc sau : • Mỗi lần chỉ tăng lên 5% cho các vật tư có giá trị tại cột tỷ lệ nhỏ hơn 30%. • Lặp lại hành động tăng trong khi mà giá trị trung bình t ỷ l ệ ph ần trăm c ủa các v ật t ư vẫn còn thấp hơn 40%. Bạn sử dụng các lệnh như sau :
  5. Nhận xét : ví dụ trên khá phức tạp, do thế bạn phải chèn thêm vào các ghi chú (comment) để giúp bạn thất được từng xử lý rời rạc nhằm dễ xem, d ễ hi ểu. Trong Transaction-SQL, bạn có thể chèn các ghi chú trong các câu lệnh b ằng hai d ấu tr ừ liên tiếp nhau hoặc muốn che lại một khối các lệnh liên tiếp nhau thì bạn sẽ sử dụng cặp ký tự như bên dưới : Ngoài ra trong vòng lặp bạn có thể sử dụng lệnh IF EXISTS dùng đ ể ki ểm tra tr ường hợp sau khi đã tăng hết tất cả tỷ lệ phần trăm các vật tư với đều lớn h ơn 30 mà trung bình tỷ lệ phần trăm của các vật tư vẫn chưa lớn hơn 40 thì bắt bu ộc vòng l ặp ph ải được thoát ra ngoài, bởi vì nếu không thì vòng lặp sẽ bị lặp vô tận không bao gi ờ thoát ra được.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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