17,377
社区成员
发帖
与我相关
我的任务
分享
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
问题在哪?各位找出原因了,有个字段有数据类型不匹配。 把表结构和序列语句发出看看
把表结构和序列语句发出看看
t_bd_groupline 表结构中,是不是有数值型INSERT 是字符型!
[quote=引用 13 楼 guanchaoyi 的回复:]写成这样就可以了,我检查了,你写得有错误: 1. INSERT INTO t_bd_groupheader() ..这里多了个分号. 2. 另外帮你调整了一下逻辑。/* 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. 另外帮你调整了一下逻辑。/* 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;
/* 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. 另外帮你调整了一下逻辑。建议你看看plsql的语法。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;
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的语法。declare begin end; 这是一个匿名块,块结束后,declare之后的变量也释放了,你想用变量,在sqlplus里用var指令
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;
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