过程是
create or replace package BODY pkg_question
is
PROCEDURE proc_question
(
em_id in VARCHAR2,
student in VARCHAR2,
t_sql out Tabletype
)
IS
table_id INTEGER ;
page_id number;
ID INTEGER;
question_id number;
question_body VARCHAR2(254 BYTE);
question_key CHAR(1 BYTE);
branch_a VARCHAR2(254 BYTE);
branch_b VARCHAR2(254 BYTE);
branch_c VARCHAR2(254 BYTE);
question_ids VARCHAR2(1200 BYTE);
key_seqs VARCHAR2(200 BYTE);
BEGIN
OPEN t_sql for
select * from
(select ceil(dbms_random.value(1,1000)) as "ID", question_id, question_body , question_key, branch_a, branch_b, branch_c from question ) t
where rownum<=10
order by t.ID ;
loop
fetch t_sql into ID, question_id, question_body , question_key, branch_a, branch_b, branch_c ;
exit when t_sql%notfound;
question_ids:=question_ids||','||question_id;
key_seqs:=key_seqs||','||question_key;
end loop;
select nvl(max(examine.ID),0)+1 into table_id from examine;
select nvl(max(paper_id),0)+1 into page_id from paper;
insert into paper(paper_id,question_id_seq,key_seq) values(page_id,question_ids,key_seqs);
insert into examine(ID, em_in, student,paper_id) values(table_id, em_id, student,page_id);
END proc_question;
END pkg_question;
oracle 里面调试可以的呀 在c#中就出现错误了 本人新手 求高手指点下
create or replace package BODY pkg_question
is
PROCEDURE proc_question
(
em_id in VARCHAR2,
student in VARCHAR2,
t_sql out Tabletype
)
IS
table_id INTEGER ;
page_id number;
ID INTEGER;
question_id number;
question_body VARCHAR2(254 BYTE);
question_key CHAR(1 BYTE);
branch_a VARCHAR2(254 BYTE);
branch_b VARCHAR2(254 BYTE);
branch_c VARCHAR2(254 BYTE);
question_ids VARCHAR2(1200 BYTE);
key_seqs VARCHAR2(200 BYTE);
BEGIN
OPEN t_sql for
select * from
(select ceil(dbms_random.value(1,1000)) as "ID", question_id, question_body , question_key, branch_a, branch_b, branch_c from question ) t
where rownum<=10
order by t.ID ;
loop
fetch t_sql into ID, question_id, question_body , question_key, branch_a, branch_b, branch_c ;
exit when t_sql%notfound;
question_ids:=question_ids||','||question_id;
key_seqs:=key_seqs||','||question_key;
end loop;
select nvl(max(examine.ID),0)+1 into table_id from examine;
select nvl(max(paper_id),0)+1 into page_id from paper;
insert into paper(paper_id,question_id_seq,key_seq) values(page_id,question_ids,key_seqs);
insert into examine(ID, em_in, student,paper_id) values(table_id, em_id, student,page_id);
END proc_question;
END pkg_question;
oracle 里面调试可以的呀 在c#中就出现错误了 本人新手 求高手指点下
解决方案 »
- MVC存储过程分页
- 如何让div显示以前的内容
- 为什么2005 运行时 端口老是变化。。。难道不是固定的80端口吗?请各位高手解决!急! 在线等!
- UNIX 系统上什么时候能装.NET平台?.NET跨语言是怎么回事阿?
- HTML控件中的Image 控件如何把所链接的图标设置为没有色彩的灰色?
- 最简单的查询.dbf数据库中对应记录的方法是什么?
- 很急的问题啊
- TREEVIEW,能不能歇会,不要跳了
- 通过http协议传送参数,但是参数丢失的问题
- 我怎么找不出错误来了,Maybe easy for you! help me!
- 为什么sql的返回值与TextBox1.Text.Trim().ToString()不等
- 如何查找一个Panel中的一个GridView中的ItemTemplate项中某一个控件(如:Label)的值?
ID在程序里面是放在最后一个索引的所以不见得是你Oracle的顺序最好能手动赋值