Insert into T_BD_GROUPHEADER
  (GH_ID,
   GH_Name,
   GH_TYPE,
   GH_LOGO,
   GH_SUMMARY,
   GH_NOTICE_RTF,
   GH_OP_ID_CREATOR,
   GH_CREATOR_NAME)
Values
  (SEQ_QQGROUP_ID.Nextval,
   '江正(1001286) 创建的讨论组',
   '2',
   NULL,
   '江正(1001286) 创建于 21月-01日',
   NULL,
   '828',
   '江正');DECLARE
  V_SEQID NUMBER;
BEGIN
  SELECT SEQ_QQGROUP_ID.CURRVAL INTO V_SEQID FROM dual;
END;INSERT INTO T_BD_GROUPLINE
  (OP_ID, GH_ID, GL_OP_ALIAS)
  Select '828', V_SEQID, '江正(1001286)'
    FROM DUAL
  UNION
  Select '1474', SEQ_QQGROUP_ID.CURRVAL, '陈维(1002392)'
    FROM DUAL
  UNION
  Select '466', SEQ_QQGROUP_ID.CURRVAL, '冯敏(1000609)'
    FROM DUAL
  UNION
  Select '1000', SEQ_QQGROUP_ID.CURRVAL, '郭珊珊(1001705)'
    FROM DUAL
  UNION
  Select '103', SEQ_QQGROUP_ID.CURRVAL, '齐湘波(1000119)'
    FROM DUAL
  UNION
  Select '13', SEQ_QQGROUP_ID.CURRVAL, '张莉(1000013)' FROM DUAL
问题在哪?SQLselect异常

解决方案 »

  1.   

    错了,愿意是这样:
    Insert into T_BD_GROUPHEADER
      (GH_ID,
       GH_Name,
       GH_TYPE,
       GH_LOGO,
       GH_SUMMARY,
       GH_NOTICE_RTF,
       GH_OP_ID_CREATOR,
       GH_CREATOR_NAME)
    Values
      (SEQ_QQGROUP_ID.Nextval,
       '江正(1001286) 创建的讨论组',
       '2',
       NULL,
       '江正(1001286) 创建于 21月-01日',
       NULL,
       '828',
       '江正');DECLARE
      V_SEQID NUMBER;
    BEGIN
      SELECT SEQ_QQGROUP_ID.CURRVAL INTO V_SEQID FROM dual;
    END;INSERT INTO T_BD_GROUPLINE
      (OP_ID, GH_ID, GL_OP_ALIAS)
      Select '828', V_SEQID, '江正(1001286)'
        FROM DUAL
      UNION
      Select '1474', V_SEQID, '陈维(1002392)'
        FROM DUAL
      UNION
      Select '466', V_SEQID, '冯敏(1000609)'
        FROM DUAL
      UNION
      Select '1000', V_SEQID, '郭珊珊(1001705)'
        FROM DUAL
      UNION
      Select '103', V_SEQID, '齐湘波(1000119)'
        FROM DUAL
      UNION
      Select '13', V_SEQID, '张莉(1000013)' FROM DUAL
      

  2.   

    DECLARE
      V_SEQID NUMBER;
    BEGIN
      SELECT SEQ_QQGROUP_ID.CURRVAL INTO V_SEQID FROM dual;INSERT INTO T_BD_GROUPLINE
      (OP_ID, GH_ID, GL_OP_ALIAS)
      Select '828', V_SEQID, '江正(1001286)'
        FROM DUAL
      UNION
      Select '1474', V_SEQID, '陈维(1002392)'
        FROM DUAL
      UNION
      Select '466', V_SEQID, '冯敏(1000609)'
        FROM DUAL
      UNION
      Select '1000', V_SEQID, '郭珊珊(1001705)'
        FROM DUAL
      UNION
      Select '103', V_SEQID, '齐湘波(1000119)'
        FROM DUAL
      UNION
      Select '13', V_SEQID, '张莉(1000013)' FROM DUAL;
     END; 
      

  3.   

    declare
    begin
    end;这是一个匿名块,块结束后,declare之后的变量也释放了,你想用变量,在sqlplus里用var指令
      

  4.   

    SQL语法转Oracle语法太别扭了
    总是不对
      

  5.   


    DECLARE
      V_SEQID NUMBER;
    BEGIN
      Insert into T_BD_GROUPHEADER
      (GH_ID,
       GH_Name,
       GH_TYPE,
       GH_LOGO,
       GH_SUMMARY,
       GH_NOTICE_RTF,
       GH_OP_ID_CREATOR,
       GH_CREATOR_NAME);
    Values
      (SEQ_QQGROUP_ID.Nextval,
       '江正(1001286) 创建的讨论组',
       '2',
       NULL,
       '江正(1001286) 创建于 21月-01日',
       NULL,
       '828',
       '江正');
      SELECT SEQ_QQGROUP_ID.CURRVAL INTO V_SEQID FROM dual;
      INSERT INTO T_BD_GROUPLINE
      (OP_ID, GH_ID, GL_OP_ALIAS)
      Select '828', V_SEQID, '江正(1001286)'
        FROM DUAL
      UNION
      Select '1474', V_SEQID, '陈维(1002392)'
        FROM DUAL
      UNION
      Select '466', V_SEQID, '冯敏(1000609)'
        FROM DUAL
      UNION
      Select '1000', V_SEQID, '郭珊珊(1001705)'
        FROM DUAL
      UNION
      Select '103', V_SEQID, '齐湘波(1000119)'
        FROM DUAL
      UNION
      Select '13', V_SEQID, '张莉(1000013)' FROM DUAL;
    commit;
    end;建议你看看plsql的语法。
      

  6.   

    嗯,刚转几天ORacle,可是还是报错,开头提示无效数字。。
      

  7.   

     SELECT SEQ_QQGROUP_ID.CURRVAL INTO V_SEQID FROM dual;在这里提示无效数字
      

  8.   


    /* Formatted on 2013/08/02 14:39 (Formatter Plus v4.8.7) */
    DECLARE
       v_seqid   NUMBER;
    BEGIN
       SELECT seq_qqgroup_id.NEXTVAL
         INTO v_seqid
         FROM DUAL;   INSERT INTO t_bd_groupheader
                   (gh_id, gh_name, gh_type, gh_logo,
                    gh_summary, gh_notice_rtf, gh_op_id_creator, gh_creator_name
                   )
            VALUES (v_seqid, '江正(1001286) 创建的讨论组', '2', NULL,
                    '江正(1001286) 创建于 21月-01日', NULL, '828', '江正'
                   );   INSERT INTO t_bd_groupline
                   (op_id, gh_id, gl_op_alias)
          SELECT '828', v_seqid, '江正(1001286)'
            FROM DUAL
          UNION
          SELECT '1474', v_seqid, '陈维(1002392)'
            FROM DUAL
          UNION
          SELECT '466', v_seqid, '冯敏(1000609)'
            FROM DUAL
          UNION
          SELECT '1000', v_seqid, '郭珊珊(1001705)'
            FROM DUAL
          UNION
          SELECT '103', v_seqid, '齐湘波(1000119)'
            FROM DUAL
          UNION
          SELECT '13', v_seqid, '张莉(1000013)'
            FROM DUAL;   COMMIT;
    END;写成这样就可以了,我检查了,你写得有错误:
    1. INSERT INTO t_bd_groupheader() ..这里多了个分号.
    2. 另外帮你调整了一下逻辑。
      

  9.   

    嗯,逻辑这样调整好,可是还有错误呢
    这句 INSERT INTO t_bd_groupline
                   (op_id, gh_id, gl_op_alias)
    无效的数字
      

  10.   

    嗯,逻辑这样调整好,可是还有错误呢
    这句 INSERT INTO t_bd_groupline
                   (op_id, gh_id, gl_op_alias)
    无效的数字我都检查了数据类型没问题,可能的原因会是什么?
      

  11.   

     t_bd_groupline 表结构中,是不是有数值型INSERT 是字符型!