Breaking News
Loading...
05/02/2014

Oracle PL/SQL Developer

Trong Oracle, khi in một chuỗi có dấu nháy đơn, Oracle tự nhận biết điều này

Ví dụ:

SELECT 'It''s a bird, no plane, no it can''t be ice cream!' AS phrase
FROM dual;

cách mới là:

SELECT q'(It's a bird, no plane, no it can't be ice cream!)' AS phrase
FROM dual;

Nếu muốn in ra màn hình trong Oracle

BEGIN
dbms_output.put_line('Hello World');
END;

Vòng lặp For trong Oracle, SQL Server không có vòng lặp For

BEGIN
FOR i IN 1..5 LOOP
dbms_output.put_line('First statement, index is ['||i||'].');
IF MOD(i,2) = 0 THEN
CONTINUE;
END IF;
dbms_output.put_line('Second statement, index is ['||i||'].');
END LOOP;
END;

Cú pháp tạo 1 function trong Oracle
CREATE OR REPLACE FUNCTION add_three_numbers
( a NUMBER := 0, b NUMBER := 0, c NUMBER := 0 ) RETURN NUMBER IS
BEGIN
RETURN a + b + c;
END;

Cách gọi function trong Oracle
BEGIN
dbms_output.put_line(add_three_numbers(a => 4,b => 5,c => 13));
--dbms_output.put_line(add_three_numbers(3, 4, 5));
END;

Một ví dụ về bắt Exception trong Oracle
DECLARE
my_var VARCHAR2(10);
BEGIN
my_var := '&input';
dbms_output.put_line('Hello '|| my_var );
EXCEPTION
WHEN others THEN
dbms_output.put_line(SQLERRM);
END;

Môt ví dụ về Case when trong Oracle, chỉ khác SQL Server ở chỗ là End Case
BEGIN
CASE TRUE
WHEN (1 > 3) THEN
dbms_output.put_line('One is greater than three.');
WHEN (3 < 5) THEN
dbms_output.put_line('Three is less than five.');
WHEN (1 = 2) THEN
dbms_output.put_line('One equals two.');
ELSE
dbms_output.put_line('Nothing worked.');
END CASE;
END;

Tạo cursor trong Oracle
DECLARE
CURSOR c IS SELECT item_title FROM item;
BEGIN
FOR i IN c LOOP
dbms_output.put_line('The title is ['||i.item_title||']');
END LOOP;
END;

cách tương tự 

BEGIN
FOR i IN (SELECT item_title FROM item) LOOP
dbms_output.put_line('The title is ['||i.item_title||']');
END LOOP;
END;

một cách khác
DECLARE
title item.item_title%TYPE;
CURSOR c IS SELECT item_title FROM item;
BEGIN
OPEN c;
LOOP
FETCH c INTO title;
EXIT WHEN c%NOTFOUND;
dbms_output.put_line('The title is ['||title||']');
END LOOP;
CLOSE c;
END;
Trả về nhiều giá trị trong từng variable trong Stored Procedure
http://www.mkyong.com/oracle/oracle-stored-procedure-select-into-example/

Nếu muốn thực thi Dynamic SQL trong Oracle EXECUTE IMMEDIATE stmt;

1 comments:

 
Toggle Footer