BMS-HOSxP Community

HOSxP => MySQL => ข้อความที่เริ่มโดย: d^_^b►►ทิว ที่ เมษายน 20, 2010, 21:53:22 PM

หัวข้อ: รบกวนท่านผู้รู้ แปลความหมายของคำสั่งนี้ด้วยครับ
เริ่มหัวข้อโดย: d^_^b►►ทิว ที่ เมษายน 20, 2010, 21:53:22 PM
*************************************************************
DROP FUNCTION IF EXISTS `get_serialnumber`;
DELIMITER ;;
CREATE DEFINER=`hosxp`@`%` FUNCTION `get_serialnumber`(param1 varchar(150)) RETURNS int(11)
begin   declare serial_exist int;   declare xserial_no  int;   if param1='' then      select 'test' into param1;   end if;    select count(serial_no) into serial_exist from serial where name = param1;   if serial_exist = 0 then   insert into serial (name,serial_no) values (param1,0);   end if;   update serial set serial_no = serial_no + 1 where name = param1;   select serial_no into xserial_no from serial where name = param1;   return xserial_no;  end;;
DELIMITER ;
************************************************************
ผมลองใช้คำสั่งนี้แล้วเกิดผิดพลาดตามภาพที่แนบมาด้วยครับ
เท่าที่อ่านดูน่าจะผิดที่ version ของ mysql ใช่ไหมครับ
แล้วยังงี้ผมต้องแก้ไขยังไงโดย ที่ผมยังใช้ appserv version 2.5.9 ครับ
พอจะมีคำสั่งอื่นไหมที่ให้ผลเช่นเดียวกันแต่ใช้ได้หน่ะครับ
หัวข้อ: Re: รบกวนท่านผู้รู้ แปลความหมายของคำสั่งนี้ด้วยครับ
เริ่มหัวข้อโดย: วีระวัฒน์ (เอก) ที่ เมษายน 20, 2010, 23:13:10 PM
เป็น function ที่ใช้ run เลข runing ต่าง ๆ เช่น HN ล่าสุดเป็น 100 HN ถัดไป ก็จะเป็น 101 เป็นต้น ใช้กับทุกตัว เช่น AN, HN, OvstDiag_id (ทุกตัวที่อยู่ในตาราง serial)