菜鸟求一个sql语句

[复制链接]
查看11 | 回复7 | 2013-2-25 14:51:24 | 显示全部楼层 |阅读模式
不会pl/sql,现在想做点数据来测试,功能要求:for n次,每次将字段一加1,然后insert入表
伪代码:
for (n次循环 )
insert into table valuse (字段1,字段2,字段3,字段4)
字段1 = 字段1+1
}

回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
写个存储过程CREATE OR REPLACE PROCEDURE Create_Test_Data
(
v_loopnum in number
) IS
v_loop NUMBER;
BEGIN
v_loop := 1;
LOOP
EXIT WHEN v_loop=v_loopnum;
INSERT INTO TABLENAME(字段1,字段2,字段3,字段4) VALUES(v_loop_tmp,字段2,字段3,字段4);
v_loop:=v_loop+1;
END LOOP;
commit;
END Create_Test_Data;复制代码
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
create table a as select 字段1+ level -1字段1,字段2,字段3,字段4 from dual connect by level<=100
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
这个,高人有高人的方法,新手有新手的办法.
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
〇〇 发表于 2013-2-21 11:06
create table a as select 字段1+ level -1字段1,字段2,字段3,字段4 from dual connect by level

呵呵,经典connect by功能
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层


写的太复杂估计新人 看不懂了 。。。。看2楼的吧。。。慢慢来 。首先撸主要知道 循环有多种方式。
1.for inloop
2.while loop
3.open cursor for loop

回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
DECLARE
BEGIN
FOR i IN 1..10
LOOP
dbms_output.put_line('当前i的值为'||i);
END LOOP;
END;
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
ccceleven 发表于 2013-2-21 16:23
写的太复杂估计新人 看不懂了 。。。。看2楼的吧。。。慢慢来 。首先撸主要知道 循环有多种方式。
1. ...


简单的例子:
for i in 1..n loop
--具体的语句
end loop;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行