输入参数为 i_number ,i_number输入的范围为1-10,
当输入参数为2的话,用dbms_output.put()或者dbms_output.put_line()来打印
结果如:1 、2
3 、4
当输入3的话,
结果为:1 、2 、3
4 、5 、6
7 、8 、9
当输入4的话,依次类推。
要求写一个存储过程来实现,请问大家这怎么做啊。
当输入参数为2的话,用dbms_output.put()或者dbms_output.put_line()来打印
结果如:1 、2
3 、4
当输入3的话,
结果为:1 、2 、3
4 、5 、6
7 、8 、9
当输入4的话,依次类推。
要求写一个存储过程来实现,请问大家这怎么做啊。
解决方案 »
- 发现一个Recover Writer经常没有在运行 怎么启动它?
- 求解:XP下DSN连接远程ORACLE出错
- 求创建用户语法详解.
- 【求助】排序后分页的效率问题
- 问个简单的问题,求助!!!!!!!!!!!!!!!!!!!!!!!!
- 用spfile 和用pfile启动的区别是什么?
- 恢复问题。win2000被迫重装后,原来那个oracle数据库的 database 目录下文件还在,请问如何把这些数据库恢复到新装的oracle中?!
- 当发生除数为零的exception时候,希望将这一数据赋植为零。该怎么写?
- sql语句里面有没有只选出前十条语句?或者是从第十条到第20条的语句。
- ORA-12638: Credential retrieval failed这是什么原因
- 多个关联求SUM 问题 100分结贴在线等
- JDK 变成了1.3
CREATE OR REPLACE PROCEDURE P_TEST(I_NUMBER INT) IS
BEGIN
FOR I IN 1 .. I_NUMBER LOOP
FOR J IN 1 .. I_NUMBER LOOP
IF J = 1 THEN
DBMS_OUTPUT.PUT(TO_CHAR(J + I_NUMBER * (I - 1)));
ELSE
DBMS_OUTPUT.PUT('、' || TO_CHAR(J + I_NUMBER * (I - 1)));
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('');
END LOOP;
END P_TEST;
/BEGIN
P_TEST(3);
END;
/
SQL> set serveroutput on;
SQL>
SQL> create or replace procedure huawei_test(i_number in number)
2 is
3 temp_char number;
4 begin
5 temp_char := 0;
6 for i in 1..i_number loop
7 for i in 1..i_number loop
8 temp_char := temp_char + 1;
9 dbms_output.put(temp_char||' ');
10 end loop;
11 dbms_output.put_line('');
12 end loop;
13 end ;
14 /Procedure createdSQL> exec huawei_test(3);1 2 3
4 5 6
7 8 9 PL/SQL procedure successfully completedSQL> exec huawei_test(6);1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 36 PL/SQL procedure successfully completedSQL>