לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 23-07-2014, 12:06
  kkr3 kkr3 אינו מחובר  
 
חבר מתאריך: 24.02.06
הודעות: 3,210
מתוך דוקומנטציה של postgresql:

//יצירת טבלה מסויימת

CREATE TABLE emp (
empname text,
salary integer,
last_date timestamp,
last_user text
);

//יצירת פונקציה(ניתן ליצור פונקצית C ,זה בשפת PSQL

CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
BEGIN
-- Check that empname and salary are given
IF NEW.empname IS NULL THEN
RAISE EXCEPTION 'empname cannot be null';
END IF;
IF NEW.salary IS NULL THEN
RAISE EXCEPTION '% cannot have null salary', NEW.empname;
END IF;

-- Who works for us when she must pay for it?
IF NEW.salary < 0 THEN
RAISE EXCEPTION '% cannot have a negative salary', NEW.empname;
END IF;

-- Remember who changed the payroll when
NEW.last_date := current_timestamp;
NEW.last_user := current_user;
RETURN NEW;
END;
$emp_stamp$ LANGUAGE plpgsql;
//שיוך הפונקציה לטבלה, ואפיון האירוע בו תיקרא הפונקציה
CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_stamp();

השונה בDB זה מהאחרים הוא שצריך ליצור פה פונקציה ולשייך, במקום שטריגר יהווה ישות בפני עצמה...
לפתרון שלך, לא הייתי ממליץ להשתמש בטריגר, ניתן לעשות זאת ע"י OVER PARTITION, דוגמא,
SELECT EMPLOYEE_ID,SALARY,SUM(SALARY) OVER (PARTITION BY DEPARTMENT_ID)
FROM EMPLOYEES
אגב, אחלה DB, אנחנו משתמשים בו כסטנד-בי, הלוואי והיה בו PARALLEL
_____________________________________
-פעם היה מעט מידע ובאיכות, היום יש המון מידע ובשיטחיות.


נערך לאחרונה ע"י kkr3 בתאריך 23-07-2014 בשעה 12:15.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 16:36

הדף נוצר ב 0.04 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר