declare
v_sql varchar2(500);
begin
for i in 1 .. 5 loop
v_sql := 'update zhangrmTbs set updatecount =(select nvl(count(*),0) from HK_Trd_center where uppdate=to_date(''2013-3-13'',''yyyy-mm-dd'') minus
select nvl(count(*),0) from HK_Trd_center where uppdate=to_date(''2013-3-13'',''yyyy-mm-dd'')+1 ) where updatecount is null and id=' || i;
v_sql := replace(v_sql, '+1', '+' || i || '');
for j in 1 .. 3 loop
v_sql := replace(v_sql, '+1', '+' || j || '');
dbms_output.put_line('j='||j);
dbms_output.put_line(v_sql);
end loop;
dbms_output.put_line('-------------------------------------ok');
end loop;
end;
SQLselect
v_sql varchar2(500);
begin
for i in 1 .. 5 loop
v_sql := 'update zhangrmTbs set updatecount =(select nvl(count(*),0) from HK_Trd_center where uppdate=to_date(''2013-3-13'',''yyyy-mm-dd'') minus
select nvl(count(*),0) from HK_Trd_center where uppdate=to_date(''2013-3-13'',''yyyy-mm-dd'')+1 ) where updatecount is null and id=' || i;
v_sql := replace(v_sql, '+1', '+' || i || '');
for j in 1 .. 3 loop
v_sql := replace(v_sql, '+1', '+' || j || '');
dbms_output.put_line('j='||j);
dbms_output.put_line(v_sql);
end loop;
dbms_output.put_line('-------------------------------------ok');
end loop;
end;
SQLselect
解决方案 »
- 什么情况下,Oracle的数据文件的后缀名会发生改变?
- Oracle 触发器错误。
- 求救,oracle实例启动的时候报下面的错误:
- VIO_ADMIN.SYS_LOB0000027183C00004$$无法通过5314958(在表空间VIO_PIC中)扩展ORA-06512: 在"SYS.DBMS_LOB", line 700
- 请问case表达式?
- toad 和 plsqldev 的比较
- 求语句,在线等......
- Oracle select 字符串处理
- 关于Oracle优化器问题,请高手指教!
- where条件中使用or的一个问题
- 请教大家一个问题哈 ASP时间显示问题
- 如何导出oracle建表语句(不想要系统添加的部分)
declare v_sql varchar2(500);begin
for i in 1 .. 5 loop
v_sql := '+1'||' id=' || i;
v_sql := replace(v_sql, '+1', '+' || i || '');
for j in 1 .. 3 loop
v_sql := replace(v_sql, '+1', '+' || j || '');
dbms_output.put_line('j='||j);
dbms_output.put_line('i='||i||'时的第' ||j ||'次输出');
end loop;
dbms_output.put_line('-------------------------------------ok');
end loop;
end;--结果
j=1
i=1时的第1次输出
j=2
i=1时的第2次输出
j=3
i=1时的第3次输出
-------------------------------------ok
j=1
i=2时的第1次输出
j=2
i=2时的第2次输出
j=3
i=2时的第3次输出
-------------------------------------ok
j=1
i=3时的第1次输出
j=2
i=3时的第2次输出
j=3
i=3时的第3次输出
-------------------------------------ok
j=1
i=4时的第1次输出
j=2
i=4时的第2次输出
j=3
i=4时的第3次输出
-------------------------------------ok
j=1
i=5时的第1次输出
j=2
i=5时的第2次输出
j=3
i=5时的第3次输出
-------------------------------------ok
declare
begin
for i in 1 .. 5 loop
dbms_output.put_line(i||'行执行开始');
for j in 1 .. 3 loop
dbms_output.put_line('i='||i||','||'j='||j);
END loop;
dbms_output.put_line(i||'行执行结束');
end loop;
end;
下面的是执行结果
1行执行开始
i=1,j=1
i=1,j=2
i=1,j=3
1行执行结束
2行执行开始
i=2,j=1
i=2,j=2
i=2,j=3
2行执行结束
3行执行开始
i=3,j=1
i=3,j=2
i=3,j=3
3行执行结束
4行执行开始
i=4,j=1
i=4,j=2
i=4,j=3
4行执行结束
5行执行开始
i=5,j=1
i=5,j=2
i=5,j=3
5行执行结束
希望对楼主有用