SQL问题:create table JL(no char(4),name varchar(12)) 求创建一个存储过程

要求用户可以插入用户指定个数的多个no,name信息。
求大神指导!谢谢!

插入几个用户指定的数据一般都是在程序中控制的,比如用户指定n个的时候
for(int i=0; i < n; i++)
{
//调用存储过程插入第i个数据
callProcedure(data[i].no, data[i].name);
}
存储过程创建的话,我不知道你用什么数据库,我就以oracle为例,其他数据库都是差不多的你改改就行
CREATE OR REPLACE PROCEDURE test_proc(p_no IN CHAR, p_name IN VARCHAR)
IS
BEGIN
INSERT into JL(no, name) values(p_no, p_name);
COMMIT;
END test_proc;
/追问

好吧,谢谢!我还想请问,可不可以在一个存储过程里就实现插入指定个数的信息,比如调用上面那个用来插入的存储过程。其实在这道题之前的上一题就是写一个用来插入的存储过程,跟上面的一样= =

追答

如果每次插入的个数在变化的话,貌似用存储过程不行额

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-17
插入多个就调用多次么。 test_proc(p_no,p_name). 你如果要在存过里面实现,可以再加个入参做循环。

CREATE OR REPLACE PROCEDURE test_proc(p_no IN CHAR, p_name IN VARCHAR,v_i in number)
IS
i number;
BEGIN
i :=v_i;
for i >0 loop
INSERT into JL(no, name) values(p_no, p_name);
COMMIT;
i:= i-1;
end loop ;
END test_proc;
/
第2个回答  2012-12-12
除非你的no和name信息有规律、否则只能插重复的或者不重复的一个

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网