1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Oracle: Chương 3 - Lê Thị Minh Nguyện

31 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 350,8 KB

Nội dung

Chương 3 trình bày những nội dung liên quan đến PL/SQL như: Sử dụng PL/SQL, các khái niện về PL/SQL, các quy tắc cơ bản lập trình PL/SQL, Sequence của Oracle, điều khiển có điều kiện, điều khiển lặp, các ngoại lệ,... Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

08/02/2012 Chương PL/SQL Nội dung  Sử dụng PL/SQL  Các khái niện PL/SQL  Các quy tắc lập trình PL/SQL  Sequence Oracle  Điều khiển có điều kiện  Điều khiển lặp  Các ngoại lệ  Cursor 08/02/2012 Các khái niện PL/SQL  Kiến trúc client/server  Cấu trúc khối PL/SQL Kiến trúc PL/SQL client/server Client Ứng dụng sử dụng SQL Ứng dụng sử dụng PL/SQL Server Bộ xử lý phát triển SQL Bộ máy PL/SQL 08/02/2012 Sử dụng PL/SQL  Cách 1: trực tiếp gõ vào SQLPlus begin dbms_output.put_line('Hello World!); end; / Sử dụng PL/SQL  Cách 2: dùng notepad tạo e:\hello.sql begin dbms_output.put_line('Hello World!); end; / SQL>@:\hello.sql 08/02/2012 Sử dụng PL/SQL  Cách 3: dùng tool SQLDeveloper Các khái niện PL/SQL  Cấu trúc khối PL/SQL  Thay đổi giá trị biến 08/02/2012 Cấu trúc khối PL/SQL DECLARE Các phát biểu khai báo BEGIN Các phát biểu thực thi EXCEPTION Các phát biểu xử lý ngoại lệ END; Phần khai báo Phần thực thi Phần ngoại lệ Ví dụ declare v_first_name varchar2(35); v_last_name varchar2(35); begin select first_name,last_name into v_first_name,v_last_name from student where student_id=123; dbms_output.put_line('Student name: '||v_first_name||' ‘ ||v_last_name); exception when no_data_found then dbms_output.put_line('there is no student with student 123'); end; 10 08/02/2012 Thay đổi giá trị biến declare v_student_id NUMBER:=&sv_student_id v_first_name varchar2(35); v_last_name varchar2(35); begin select first_name,last_name into v_first_name,v_last_name from student where student_id= v_student_id; dbms_output.put_line('Student name: '||v_first_name||' ‘ 11 ||v_last_name); exception when no_data_found then dbms_output.put_line('there is no student such student’); end; Thay đổi giá trị biến (tt) begin dbms_output.put_line('today is '||'&sv_day'); dbms_output.put_line('tomorrow will is '||'&sv_day'); end; 12 08/02/2012 Thay đổi giá trị biến (tt)  Thiết lập giá trị SET VERIFY OFF SET VERIFY OFF begin dbms_output.put_line('today is '||'&sv_day'); dbms_output.put_line('tomorrow will is '||'&sv_day'); end; 13 Các quy tắc lập trình PL/SQL  Định danh cho biến  Kiểu liệu đối tượng  Khởi tạo giá trị ban đầu 14 08/02/2012 Định danh cho biến DECLARE v_var1 varchar2(20); v_var2 number(5,3); BEGIN v_var1:='hello'; v_var2:=12.5; dbms_output.put_line('v_var1:'||v_var1); dbms_output.put_line('v_var2:'||v_var2); END; 15 Kiểu liệu đối tượng  Kiểu liệu tham chiếu đến trực tiếp một cột CSDL  Cú pháp: .%TYPE  Ví dụ: DECLARE v_name student.first_name%type; vgrade grade.numeric_grade%type; BEGIN dbms_output.put_line(NVL(v_name, „No Name‟) || „has grade of ‟|| NVL(v_grade,0)); END; 16 08/02/2012 Khởi tạo giá trị ban đầu Sử dụng “:=” DECLARE v_cookies_amt Number:=2; v_cookies_per_cookie CONSTANT Number:=300; BEGIN dbms_output.put_line(v_cookies_amt* v_cookies_per_cookie); END; 17 Khởi tạo giá trị ban đầu (tt) Select item_name Into variable_name From table_name 18 Ví dụ: Declare V_average_cost Varchar2(10); Begin Select To_char(AVG(cost),'$9,999.99') Into v_average_cost From course; DBMS_output.put_line('The average cost is '||v_average_cost); End; 08/02/2012 Sequence Oracle  Sequence: dùng để tạo tự đợng giá trị tḥc tính liệu 19 Sequence Oracle (tt)  Trong dó:  Sequence: tên sequence  Increment by n: sô bước nhảy  Start with n: số bắt đầu  Maxvalue n | Nomaxvalue: giá trị lớn  Minvalue n | Nominvalue: giá trị nhỏ nhấtt  Cycle| Nocycle: đạt đến max se quay lui tiêp tục tăng Mặc định Nocycle  Cache| Nocache: phát sinh vùng nhớ mặc định cache có 20 giá trị 20 10 08/02/2012 Ví dụ Declare v_num NUMBER:=&sv_user_num; BEGIN case when MOD(v_num,2)=0 then dbms_output.put_line(v_num||„la so chan‟); else dbms_output.put_line(v_num||„la so le‟); end case; END 33 Điều khiển lặp  LOOP  WHILE  FOR 34 17 08/02/2012 LOOP  Cú pháp EXIT LOOP phát biểu 1; phát biểu 2; IF THEN EXIT; END IF; END LOOP; • Cú pháp EXIT WHEN LOOP phát biểu 1; phát biểu 2; EXIT WHEN END LOOP; 35 Ví dụ set serveroutput on declare v_counter binary_integer:=0; begin LOOP v_counter:=v_counter+1; dbms_output.put_line('v_couter='||v_counter); if v_counter=5 then exit; end if; END LOOP ; dbms_output.put_line('Done'); end; 36 18 08/02/2012 WHILE  Cú pháp WHILE LOOP phát biểu 1; phát biểu 2; … phát biểu n; END LOOP; 37 Ví dụ set serveroutput on declare v_counter binary_integer:=1; begin while v_counter

Ngày đăng: 08/05/2021, 19:41

w