如何使用 PLSQL 动态打印唯一数字

Posted

技术标签:

【中文标题】如何使用 PLSQL 动态打印唯一数字【英文标题】:How to print unique numbers dynamically with PLSQL 【发布时间】:2020-08-04 12:54:35 【问题描述】:

我想动态显示唯一编号。我已经尝试了以下代码,但始终显示相同的数字。

DECLARE
a NUMBER;
BEGIN
FOR i IN 1 .. 3 LOOP

DBMS_OUTPUT.PUT_LINE(&a);
END LOOP;
END;

上面的代码会问我三次“a”值,如果我将 1,2,3 作为参数传递,那么它应该显示 1,2,3 但是这段代码将 first(1) 值三次显示为 1 ,1,1。

您能帮我获得所需的输出,例如 1,2,3

【问题讨论】:

【参考方案1】:

您无法真正仅在 PL/SQL 中创建交互式程序。当您将 &a 放入 PL/SQL 并在 SQL Developer 之类的工具中运行它时,它会提示您一次输入 a 的值 它运行代码之前,使用您键入的值而不是替换变量a

【讨论】:

【参考方案2】:

您想打印i 而不是a。此外,a 前面的 & 符号表示您将被提示输入 a 的值。

【讨论】:

如果我想打印传递给“a”的 101、505、2000 个值该怎么办 @GaniGanesh 我想恭敬地建议您查看一些 PL/SQL 文档,因为您似乎正在做一些学习练习。在这里试试:docs.oracle.com/database/121/LNPLS/toc.htm.

以上是关于如何使用 PLSQL 动态打印唯一数字的主要内容,如果未能解决你的问题,请参考以下文章

使用 Oracle PLSQL 从动态选择的表中合并唯一值的更有效方法

如何使用动态用户输入在 plsql 中使用函数/过程创建表

oracle 10.2.0 如何在plsql 里设置 dbms_output.put_line 打印长度

无法在plsql中打印异常

如何通过使用代码更改变量名称来动态使用变量

我们如何逐行打印字符并将其保存到 PLSQL 中的 csv 或文本文件