BMS-HOSxP Community
HOSxP => MySQL => ข้อความที่เริ่มโดย: 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 ครับ
พอจะมีคำสั่งอื่นไหมที่ให้ผลเช่นเดียวกันแต่ใช้ได้หน่ะครับ
-
เป็น function ที่ใช้ run เลข runing ต่าง ๆ เช่น HN ล่าสุดเป็น 100 HN ถัดไป ก็จะเป็น 101 เป็นต้น ใช้กับทุกตัว เช่น AN, HN, OvstDiag_id (ทุกตัวที่อยู่ในตาราง serial)