יום שלישי, 27 ביולי 2021

PL\SQL

ישנם שתי דרכים לעדכון ב PL\SQL Developer ישירות מתוך טבלת התוצאות המוצגת:
  1. קליק ימני על שם הטבלה בחלון ה SQL, בתפריט שייבחר נלחץ על "Edit Data". בחלון שייפתח נוכל לערוך את הנתונים ישירות מהטבלה שתופיע למטה. במידת הצורך ניתן להוסיף לטבלה where לצימצום שורות.
  2. נכתוב "for update" בסוף השאילתא לדוג' -
SELECT * FROM TABLE  for update;

תחביר בסיסי (מקור ויקיפדיה)
DECLARE
 v VARCHAR2(100); /* הגדרת משתנה מסוג VARCHAR2) */
BEGIN
 SELECT 'Hello world' -- שליפת ערך לתוך המשתנה
 INTO v
 FROM dual;

 dbms_output.put_line ( v ); -- הדפסת המשתנה
EXCEPTION 
 when OTHERS then /* טיפול בשגיאות */
 dbms_output.put_line ( 'error: ' || sqlerrm );
END;
או (מקור)
<<label>>   -- this is optional
DECLARE
-- this section is optional
  number1 NUMBER(2);
  number2 number1%TYPE := 17;             -- value default
  text1   VARCHAR2(12) := 'Hello world';
  text2   DATE         := SYSDATE;        -- current date and time
BEGIN
-- this section is mandatory, must contain at least one executable statement
  SELECT street_number
    INTO number1
    FROM address
    WHERE name = 'INU';
EXCEPTION
-- this section is optional
   WHEN OTHERS THEN
     DBMS_OUTPUT.PUT_LINE('Error Code is ' || TO_CHAR(sqlcode )  );
     DBMS_OUTPUT.PUT_LINE('Error Message is ' || sqlerrm   );
END;
תנאים
IF...ELSEIF...CASE WHEN
לדוג' (מקור ויקיפדיה)
IF :NEW.FieldName is null
THEN
NEW.FieldName :=Value:
END IF;


CASE Expressions

ביטויי CASE מאפשרים לנו להשתמש בלוגיקה של IF ...THEN ... ELSE בתוך שאילתת  SQL,
להלן דוגמא כשהתחביר מודגש:
SELECT name,
   CASE Age
   WHEN Age>100 THEN 'Old'
   WHEN Age<3 THEN 'Baby'
   ELSE 'Hi' 
   END
   FROM customers;

GRANT / REVOKE
GRANT - הענקת הרשאות (privileges)
REVOKE - הורדת הרשאות
הרשאות לטבלה יכולות להיות כל שילוב של SELECT, INSERT,
UPDATE, DELETE, REFERENCES, ALTER, INDEX, ALL
לדוג'

GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE_NAME TO user1;

 היררכיות
במקרה של טבלה בה הנתונים מסודרים בצורה היררכית, נבצע שליפה לפי הסדר ההיררכי,
לפי הSyntax הבא -

START WITH כאן נכניס את המצב הראשוני, את שורש ההיררכיה
CONNECT BY PRIOR וכאן את ההקשר בין שורת האב לשורת הילדים (כמו מזהה אב בשורת הבן למשל)
<הסבר לא גמור-צריך דוגמא טובה>


אין תגובות:

הוסף רשומת תגובה