Plsql 如何连接当前日期+;排序并将结果保存为PL SQL中的数字

Plsql 如何连接当前日期+;排序并将结果保存为PL SQL中的数字,plsql,Plsql,我已经编写了一个触发器,可以在表列中插入一个序列next value number。但是现在我想连接当前日期+序列,并将结果作为一个数字保存到该列中 Sample :new.MED_RECORDNO (Number) = Date(YYYYMMDD) + Sequence(nextval) :new.MED_RECORDNO = 20160120 + 75 = 2016012075 (Number) 我该怎么做。请帮我。谢谢 代码如下: create or replace TR

我已经编写了一个触发器,可以在表列中插入一个序列next value number。但是现在我想连接当前日期+序列,并将结果作为一个数字保存到该列中

Sample :new.MED_RECORDNO (Number) = Date(YYYYMMDD) + Sequence(nextval)
       :new.MED_RECORDNO = 20160120 + 75 =  2016012075 (Number)
我该怎么做。请帮我。谢谢

代码如下:

create or replace TRIGGER MED_RECORDNO_TRIGGER 
BEFORE INSERT ON TBL_MEDICAL_CENTER_BILLS
FOR EACH ROW
BEGIN
   :new.MED_RECORDNO  := to_number(to_char(sysdate, 'yyyymmdd')) + MED_RECORDNO_seq.nextval;
END;

正如您所说的“连接”,那么您应该使用运算符。在PL/SQL中,“+”用于将数值添加为
加上
(在其他语言(如JavaScript)中用于连接。因此,触发器可以是这样的:

create or replace TRIGGER MED_RECORDNO_TRIGGER 
BEFORE INSERT ON TBL_MEDICAL_CENTER_BILLS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF INSERTING THEN
IF :NEW.MED_RECORDNO IS NULL THEN
SELECT to_number(to_char(sysdate, 'yyyymmdd')||TO_CHAR(MED_RECORDNO_seq.nextval)) INTO :new.MED_RECORDNO
FROM DUAL;
END IF;
END IF;
END;

谢谢@Hawk。我想知道:NEW.MED_RECORDNO是作为数字还是字符串?我想作为数字。这是一个数字,因为我们连接了两个字符串(日期和序列)转换为一个字符串,然后将结果字符串转换为一个数字。非常清楚的解释。如果您对DBMS_调度程序的工作有任何想法,请访问并分享您的想法。谢谢您的帮助。