首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在SQLPlus或PL/SQL中创建菜单

在SQLPlus或PL/SQL中创建菜单的方法是通过使用命令行界面和编写PL/SQL代码。以下是一个简单的示例,说明如何在SQL*Plus中创建一个菜单:

  1. 首先,确保您已经安装了Oracle数据库和SQL*Plus客户端。sqlplus username/password@hostname:port/service_name将usernamepasswordhostnameportservice_name替换为您的实际数据库凭据。
  2. 打开命令提示符或终端,输入以下命令以启动SQL*Plus:
  3. 在SQL*Plus中,输入以下命令以创建一个简单的菜单:ACCEPT menu_choice CHAR PROMPT 'Enter your choice (1-4): ' DECLARE choice NUMBER := TO_NUMBER(&menu_choice); BEGIN IF choice BETWEEN 1 AND 4 THEN CASE choice WHEN 1 THEN DBMS_OUTPUT.PUT_LINE('You chose option 1'); WHEN 2 THEN DBMS_OUTPUT.PUT_LINE('You chose option 2'); WHEN 3 THEN DBMS_OUTPUT.PUT_LINE('You chose option 3'); WHEN 4 THEN DBMS_OUTPUT.PUT_LINE('You chose option 4'); END CASE; ELSE DBMS_OUTPUT.PUT_LINE('Invalid choice'); END IF; END; /这段代码将接受用户输入的数字(1-4),并根据输入的选项显示相应的消息。
  4. 运行代码后,您将看到类似以下的输出:Enter your choice (1-4): 1 old 2: DECLARE new 2: DECLARE old 3: choice NUMBER := TO_NUMBER(&menu_choice); new 3: choice NUMBER := TO_NUMBER(1); old 4: BEGIN new 4: BEGIN old 5: IF choice BETWEEN 1 AND 4 THEN new 5: IF choice BETWEEN 1 AND 4 THEN old 6: CASE choice new 6: CASE choice old 7: WHEN 1 THEN new 7: WHEN 1 THEN old 8: DBMS_OUTPUT.PUT_LINE('You chose option 1'); new 8: DBMS_OUTPUT.PUT_LINE('You chose option 1'); old 9: WHEN 2 THEN new 9: WHEN 2 THEN old 10: DBMS_OUTPUT.PUT_LINE('You chose option 2'); new 10: DBMS_OUTPUT.PUT_LINE('You chose option 2'); old 11: WHEN 3 THEN new 11: WHEN 3 THEN old 12: DBMS_OUTPUT.PUT_LINE('You chose option 3'); new 12: DBMS_OUTPUT.PUT_LINE('You chose option 3'); old 13: WHEN 4 THEN new 13: WHEN 4 THEN old 14: DBMS_OUTPUT.PUT_LINE('You chose option 4'); new 14: DBMS_OUTPUT.PUT_LINE('You chose option 4'); old 15: END CASE; new 15: END CASE; old 16: ELSE new 16: ELSE old 17: DBMS_OUTPUT.PUT_LINE('Invalid choice'); new 17: DBMS_OUTPUT.PUT_LINE('Invalid choice'); old 18: END IF; new 18: END IF; old 19: END; new 19: END; / You chose option 1 PL/SQL procedure successfully completed.

这就是如何在SQL*Plus或PL/SQL中创建一个简单的菜单。您可以根据需要修改代码以适应您的需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 Linux 创建虚拟块循环设备?

如何创建循环设备为了便于理解,我将整个过程以简单步骤的形式决定,这样更容易掌握。1.创建所需大小的文件在第一步,您需要根据需要创建一个文件。...对于这个例子,我将创建一个 3 Giga 字节的文件:dd if=/dev/zero of=VirtBlock.img bs=100M count=30图片这里,if=/dev/zero将创建一个 0...现在,让我们通过给定的命令验证最近创建的块的大小:du -sh VirtBlock.img 图片2.创建循环设备在这一步,我将使用该losetup实用程序在最近创建的文件创建循环设备映射。...-P将强制内核扫描新创建的循环设备上的分区表。...3.安装 Loop 设备要挂载创建的循环设备,第一步应该是创建一个可以通过给定命令完成的挂载目录:sudo mkdir /loopfs要安装循环设备(我的是 loop21),我将使用-o loop给定的选项

4.2K32

Oracle 开放源代码项目

如果您有自己喜欢的开放源代码项目未在此处列出,请在 OTN 会员服务论坛告知我们。 TOra Tora 是用于 Oracle 的工具包,旨在帮助数据库管理员数据库应用开发人员。...cx_OracleDBATools 用 Python 编写的跨平台工具,用于执行数据库管理员任务,启动、终止和创建 Oracle 数据库。...生成 HTML 文档,内容包括表单、菜单PL/SQL 库和与 JavaDoc 类似的对象库源文件。...可能执行存储过程和部分 PL/SQL 代码。内存快速而功能强大的表。 oratcl 它是一种 tcl 扩展,为 tcl 语言提供 Oracle 调用接口层。...如果可能,该框架会集成其他开放源代码 PL/SQL 工具(也就是 utPLSQL)。 Oracle 的 Shell 环境 Senora 是为了临时替代 sqlplus

3.1K80
  • ORA-12154: TNS: 无法解析指定的连接标识符解决

    在运行输入services.msc,打开服务窗口,看看OracleOraDb11g_homeTNSListener这个服务是否正在运行,如果没有运行,则启动。 2. 使用SQL PLUS测试连接。...运行输入cmd,在命令提示符窗口中输入 sqlplus sys/密码@数据库SID as sysdba sqlplus sys/abc123@orcl as sysdba 如果可以连接,问题就好办了...,说明我们数据库实例是没问题的,问题应该出在oracle客户端和pl/sql developer的配置上。...检查tnsnames.ora配置 在客户端的安装路径下,我的是D:\oracle\instantclient_12_1\NETWORK\ADMIN,创建一个文件,名为:tnsnames.ora,如果之前创建过了...如果还不行,在pl/sql developer的登录窗口中点“取消”按钮,进入pl/sql developer后,执行“工具”-> “首选项” -> 连接,按下图所示进行配置(其中oracle主目录就是

    4.3K10

    Oracle SQL性能诊断与调试信息采集方法

    经常见到有人在QQ群和微信群发SQL代码和()简单执行计划的截屏咨询优化问题,如果是比较简单的SQL,也没问题; 如果是稍微复杂一点的SQL, 特别是一些根因分析类问题, 建议收集尽可能详细的信息...set statistics_level=all; SQL>执行你的业务sql 说明: 如果sql使用了绑定变量,最好是先定义绑定变量,再赋值执行,: SQL...,可以到pl/sql developer里面执行,详见下文 如果返回的结果集比较大,建议在sql外面再套一层,对其中某几个字段做sumcount 如果是dml语句,...(null,null,'allstats last')); SQL>spool off 生成了plan.log 文件, 包含了sql执行过程的真实信息....补充信息的收集,可以在sqlplus下完成,也可以在pl/sql developer下实现: pl/sql developer 工具使用F5得到的执行计划信息,适合分析简单的SQL,不适合分析复杂SQL

    81920

    plsql developer配置数据库连接_plsql使用教程

    PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程的主要优势。...c:instantclientoci.dll d、设置好后关闭PL/SQL Developer,重新打开,这次显示的登录界面可以匹配到数据库等:用户名可以是默认的system,密码和数据库是之前安装...Oracle时设置的,如下: 点击确定可成功登录 (3)配置 oracle 数据库和 PL/SQL 客户的链接 光点击PL/SQL,是搜索不到Oracle数据库和登录上客户端的,因为这个时候并没链接上...NLS_LANG环境变量,要设置成和数据库端一致,可以在SQLPLUS查询字符集信息 SQL> select userenv(‘language’) nls_lang from dual; NLS_LANG...在这里有一个问题,正常情况下可以登录的你的账户,我用的是超级用户权限登录,其他的没有权限无法登录的话,可以去管理员身份运行Net Cnfiguration Assistant 重新配置(这个在你的菜单

    6.1K30

    Oracle 11g即时客户端在windows下的配置

    假设把压缩文件解压,并放入你想要的目录下,D:\Program Files\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2 2....设定环境变量,将解压后的程序所在目录(此例为D:\Program Files\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2)添加到PATH...= 192.168.0.8)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = myorcl) ) ) 4.测试 打开PL.../SQL Developer,在登录窗口中选择取消,然后在菜单工具-首选项填写如下内容 Oracle主目录名:D:\Program Files\instantclient-basic-nt-1.2.0.3.0...6、重新开启客户端PL/SQL Developer,然后用户名:hr 密码:oracle 数据库:MYDB,连接为:normal 即可正常连接远程服务器了 也可以用sqlplus测试,sqlplus

    2K20

    【DB笔试面试860】在Oracle,如何判断Oracle是32位还是64位?

    ♣ 问题 在Oracle,如何判断Oracle是32位还是64位? ♣ 答案 由于Oracle分为客户端和服务器端,所以,查看Oracle是32位还是64位也分为服务器端和客户端2个部分。...----- Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - 64bi PL/SQL Release 10.2.0.5.0 - Production...----------------------------- Oracle Database 11g Enterprise EditionRelease 11.2.0.1.0 - Production PL...dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped ② Windows平台 在64位机器上运行exp、impsqlplus...等Oracle客户端命令后,去任务管理器上看进程,文件名后面带有*32的就是32位的程序,否则Oracle客户端就是64位的程序,若机器是32位的,那么运行exp、impsqlplus等Oracle客户端命令

    1K30

    【数据库健康巡检脚本】支持Oracle、MySQL、SQL Server、PG和OS的检查

    目前一共包含7个脚本,若脚本的扩展名为“.sql”则表示该脚本为sql脚本,若脚本的扩展名为“.pl”则表示该脚本为perl脚本。...脚本DB_OS_HC_lhr_v6.0.7.pl是perl脚本,执行后会对OS的信息进行收集,并且输出到html。...SQL Server数据库 ? ? ? OS基本信息 ? PG数据库 ? 脚本运行方式 Oracle数据库 只要有sqlplus的客户端即可。...服务器端直接运行: sqlplus / as sysdba @DB_Oracle_HC_lhr_v6.0.8_12c.sql sqlplus客户端运行: sqlplus sys/lhr@192.168.59.130...SQL Server数据库 需要使用SQL Server Management Studio (SSMS)Navicat for SQLServer客户端软件,直接运行脚本,然后将输出结果保存为html

    3K72

    关于shared pool的深入探讨(五)

    P2 - Pin address                 P3 - Encoded Mode & Namespace "LIBRARY CACHE PIN"通常是发生在编译重新编译PL/SQL...下面让我们通过一个例子来模拟及解释这个等待: 1.创建测试用存储过程 [oracle@jumper udump]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.3.0...SQL> 2.模拟 首先执行calling过程,在calling过程调用pining过程 此时pining过程上获得共享Pin,如果此时尝试对pining进行授权重新编译,将产生Library Cache...0            1200 WAITING Ok,这个用户正在等待一次PL/SQL lock timer计时....另外我们测试的案例本身就说明:如果Package过程存在复杂的、交互的依赖以来关系极易导致library cache pin的出现. 所以在应用开发的过程,我们也应该注意这方面的内容.

    47320
    领券