CREATE OR REPLACE FUNCTION MESSAGE_FUN(M IN MESSAGE_PACKAGE.MESSAGE_RECORD)
  RETURN NUMBER AS
  NUM VARCHAR2(10);
BEGIN
  SELECT 'MSG' || SEQ_MID.NEXTVAL  //这里的“||”是什么意思?为什么要用 "MSG" 和 "||"
    INTO NUM 
    FROM DUAL;  INSERT INTO MESSAGE
  VALUES
    (NUM,                 
     M.USERID,
     M.USTATEID,
     M.MTYPE,
     M.STIME,
     M.ETIME,
     M.SPECIFICATION,
     M.LINKMAN,
     M.PHONE,
     M.PHOTO,
     M.VIDEO,
     M.MUSIC,
     M.QQ,
     M.MSN);
  RETURN NUM;
END;

“||”是什么意思?为什么要用 "MSG" 和 "||"
另外有没有“&”之类的东西,有的话,啥意思?怎么用? 求解

解决方案 »

  1.   

    ||  字符串连接 ,  SEQ_MID  是一个序列。 是已经建好的 ,SEQ_MID.NEXTVAL  取序列的下一个值 。 
        用 "MSG" 和 "||"  连接之后 组成一个字符串,插入到表 message中。 做唯一标示。 
     & 这个符号, 可以 在执行的时候 进行 变量替换   。例如 &username 在执行的时候 会要求输入 username的值 。  这个时候 一定要注意 输入的值,有没有单引号 ,因为有可能会影响到你的查询, 如果进行隐士转换之后, 就不走分区或是索引了 。 大大的降低效率    
     
      

  2.   

    关于"&"的用法可以举个例子不?
      

  3.   

     select * from dw_v_user_stat_standard  where month_id = &month_id ;