Oracle存储过程中的提示符

Oracle存储过程中的提示符,oracle,stored-procedures,plsql,Oracle,Stored Procedures,Plsql,我想让我的sql具有交互性。首先,我想显示项目列表,然后接受用户的选择,并根据选择显示结果 但是当我尝试时,在显示列表之前会得到选择提示 有人能帮我吗 我想要这样的输出:- 国家名单: (我通过调用过程获取此列表) 号码姓名 加拿大 美国 英国 印度 日本 中国 选择要替换的国家:(这将保存在变量中,例如var1) 号码姓名 加拿大 美国 英国 印度 日本 中国 选择要替换的国家:(这将保存在变量中,例如var2) 在接受这些值之后,我想用var2替换var1 那么现在有人能告诉我应该做什么吗?

我想让我的sql具有交互性。首先,我想显示项目列表,然后接受用户的选择,并根据选择显示结果

但是当我尝试时,在显示列表之前会得到选择提示

有人能帮我吗

我想要这样的输出:-

国家名单: (我通过调用过程获取此列表)

号码姓名

  • 加拿大
  • 美国
  • 英国
  • 印度
  • 日本
  • 中国
  • 选择要替换的国家:(这将保存在变量中,例如var1)

    号码姓名

  • 加拿大
  • 美国
  • 英国
  • 印度
  • 日本
  • 中国
  • 选择要替换的国家:(这将保存在变量中,例如var2)

    在接受这些值之后,我想用var2替换var1


    那么现在有人能告诉我应该做什么吗?

    我想您需要一个接受用户输入的SQLplus脚本。尝试设置批处理文件并使用“acceptvariablepromptmessage”方法。只是要提防sql注入攻击(顺便说一句,这不是一种很好的数据输入方法)


    有关在SQLPlus中与用户通信的Oracle文档,请参阅。

    我认为您需要一个接受用户输入的SQLPlus脚本。尝试设置批处理文件并使用“acceptvariablepromptmessage”方法。只是要提防sql注入攻击(顺便说一句,这不是一种很好的数据输入方法)


    有关在SQLPlus中与用户通信的Oracle文档,请参阅。

    如果您的环境是命令行,例如SQL*PLUS,则可以使用PLUS语句来完成此操作。我在一个简单的Jane .sql文件中做了类似的事情,作为一个5分钟的创可贴。

    提示符基本上会将文本回显到屏幕上。 ACCEPT将允许您接受用户输入

    要显示选项列表,只需运行简单的选择


    接受输入后,从那里传递到过程。

    如果您的环境是命令行,例如SQL*PLUS,您可以使用PLUS语句来完成此操作。我在一个简单的Jane .sql文件中做了类似的事情,作为一个5分钟的创可贴。

    提示符基本上会将文本回显到屏幕上。 ACCEPT将允许您接受用户输入

    要显示选项列表,只需运行简单的选择


    接受输入后,从那里传递到过程。

    选择提示是什么意思?正确答案(如果有正确答案)取决于用户必须选择选项的环境。存储过程(用PL/SQL编写)无法要求用户输入。即使是输出(DBMS_输出)的生成方式也是非常独特的,需要一个支持它的环境。SQL*plus中有一个“PROMPT”命令,它实现了SQL和PL/SQL之外的一些命令和逻辑。SQL Developer也支持这些命令中的大多数。SQL不适合此类活动。尽管您可以接受SQL中的用户输入,如tbone在其回答中所述,但您不应该这样做。如果要执行此操作,应编写一个程序来处理围绕数据库的所有逻辑。选择提示是什么意思?正确答案(如果有正确答案)取决于用户必须选择选项的环境。存储过程(以PL/SQL编写)无法要求用户输入。即使是输出(DBMS_输出)的生成方式也是非常独特的,需要一个支持它的环境。SQL*plus中有一个“PROMPT”命令,它实现了SQL和PL/SQL之外的一些命令和逻辑。SQL Developer也支持这些命令中的大多数。SQL不适合此类活动。尽管您可以接受SQL中的用户输入,如tbone在其回答中所述,但您不应该这样做。如果您想这样做,您应该编写一个程序来处理围绕数据库的所有逻辑。