SP ב MYSQL
-
מבנה בסיסי:
CREATE PROCEDURE get_employees AS
select * from employees
קריאה לפרוצדורה:
execute get_employees
או:
exe get_employees
פונקציות:
מבנה בסיסי
CREATE FUNCTION function_name[רשימת הפרמטרים שהפונקציה מקבלת]
RETURNS return_data_type //צריך להגדיר את סוג הערך המוחזר מהפונקציה לדוג' varchar
AS BEGIN
//בגוף הפונקציה צריך להגדיר משתנה מקומי שמחזיר את הערך מהפונקציה כמובן שהוא צריך להיות מאותו סוג ערך שהוגרד למעלה!
//כתיבת גוף הפונקציה (הקוד...)
RETURN scalar_expression //הפונקציה מחזירה את המשתנה המקומי שהוגדר
END
דוג':
(create function(@a floatפורסם במקור בפורום CODE613 ב19/06/2016 12:27 (+03:00)
-
דוג':
(create function sample(@a float
RETURNS float
AS
BEGIN
DECLARE @num flout
(select @num= avg(price
from prices
where id = @a
return @num
ENDקיימות עוד סוגים של פונקציות, אבל זה הבסיס.
על איזה גירסה של MYSQL אתה מדבר?
אצלי יש 5.1.73, ואת ה@ הוא בכלל לא מכיר, תחת זאת יש את INTO.ו... ברכות למשתמש הטרי! נראה שנרשמת על מנת לעזור לי
פורסם במקור בפורום CODE613 ב19/06/2016 13:22 (+03:00)
-
למען הסדר הטוב, אביא להלן את הסינטקס הנכון ששימש אותי.
ותודה לEsti על העזרה שהנחתה אותי למצוא את התחביר הכללי הנכון.
השימוש הוא בDelimiter /create function sample(Param1 int) RETURNS float DETERMINISTIC BEGIN DECLARE paramRetrun float; SELECT tbl1.clm1 - tbl1.clm2 AS ViewClm INTO paramRetrun FROM tblBookkeeping WHERE 1=1; RETURN(paramRetrun); END; /
פורסם במקור בפורום CODE613 ב20/06/2016 13:11 (+03:00)