问题标签 [sqlplus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sqlplus - 如何为 SQLPlus 创建批处理文件?
我需要创建一个批处理文件,即batch.bat
.
当我们执行这个文件时:
- 它将打开 SQLPlus
- 它将调用一个名为
file1.sql
.
file1.sql
包含特定用户的创建和插入脚本。
我有file.sql
,但我需要知道的是,如何创建批处理文件来执行此功能?
oracle - Oracle EX 和 SQL Plus:如何恢复转储文件?
我有 .dmp 和 .log 文件。我需要使用 SQLPlus 或 EX 的某些功能来恢复数据库模式和数据。我怎么做?我已经尝试过 RECOVER 命令和 impdp。没有运气,或者我做错了什么。
oracle - oracle sqlplus 命令行问题
有没有办法从 oracle 脚本中检测缺少的命令行参数
例如,我的 oracle 脚本 test.sql 需要运行 3 个参数。我的脚本是从安装程序执行的,如 sqlplus /NOLOG @test.sql userid pw tablespace 当缺少参数之一时,sqlplus 会提示输入用户输入。这无法从安装程序中识别。我需要在脚本中找到丢失的参数并以错误代码退出。可行吗?
oracle - 将 3954275 插入语句导入 Oracle 10g
如何将具有 3954275 行插入语句的脚本导入 Oracle 10g。我可以这样做,sqlplus user/pass @ script.sql
但这太慢了(更糟糕的是,提交是在这个 900MB 文件的末尾。我不知道我的 Oracle 配置是否可以处理这个问题)。有没有更好(更快)的方式来导入数据?顺便提一句。导入前数据库为空。
oracle - 无法与 TOAD 连接,但可以与其他工具/应用程序连接
我可以使用多种工具连接到 Oracle 数据库,但无法使用 Toad for Oracle 8.5.3 进行连接(尽管在登录/注销 Windows 之前我能够)。
我没有使用TNSNAMES.ORA进行连接。我有两个甲骨文之家:
C:\Oracle\product\10.2.0\client_1 (OraClient10g_home1)
和C:\Oracle\product\10.2.0\client_2
(ODACHome2)
在客户端 1 之后安装客户端 2 的位置。
我在每个家庭都尝试过 Toad,但是当我提供数据库名称、用户名和密码时,我得到“ORA-12154:TNS:无法解析指定的连接标识符”。我可以使用相同的信息使用 SQL*Plus 进行连接,也可以通过 ADO.NET (ODP.NET) 进行连接。tnsping (client 2) 到服务器的工作,但tnsping (client 1) 没有。
我的PATH环境变量按顺序包含:
C:\oracle\product\10.2.0\client_2\bin;C:\oracle\product\10.2.0\client_1\bin
并且更改PATH的顺序似乎没有效果。当我添加该行时
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
到客户端 2 的sqlnet.ora,Toad 仍然无法连接,但错误消息出现得更快。
sql - 如何在 SQL*Plus 中获取 Oracle 创建表语句
我有一个存在于 Oracle 数据库中的表,但没有显示在我的工具 SQL Developer 中的表列表中。但是,如果我使用 SQL*Plus 并执行
我列出了表格。如果我输入
它向我展示了这些领域。我想获得 create 语句,因为我需要添加一个字段。我可以修改表格以添加字段,但我仍然需要将 create 语句放入我们的源代码管理中。什么 pl/sql 语句用于获取表的创建语句?
oracle - Oracle 10g 中的输出排序
我使用的是 Oracle 10g,SELECT
命令返回的输出是锯齿形格式。如何以正确的顺序排列列?有什么命令吗?
reporting - 除了 SQL*Plus 中指定的列之外,是否可以对列进行 BREAK ON?
这个很难解释,所以我将尝试在使用示例后展示我的意思。请注意,我不是在问是否可以在一个BREAK
语句中使用多个列——我知道可以。
假设我有如下查询:
并假设结果集是:
所以可以看到有的供应商有多个发票,有的发票有多个账户。
要隐藏重复的供应商名称和发票编号,我可以使用 SQL*Plus 的BREAK
命令,如下所示:
产生这个结果集:
到现在为止还挺好。我还想隐藏重复的发票日期,以便只显示每张发票的第一个日期。但是,如果我使用这个命令:
它会走得太远并隐藏发票 0003 和 0004 的日期,只是因为它们与各自供应商的先前发票相同:
我真正想要的是如下命令语法(我编造了术语AND
):
目的是,每当它在 invoice_no 中断时,也会在 invoice_date 中断(因为我知道一个发票号不能有两个发票日期):
现在可以正确显示发票 0003 和 0004 的日期。
有没有办法在 SQL*Plus 中实现这一点?
oracle - 在oracle中连接SQLplus
我想在 oracle 的 sqlplus 中连接用户 sys,但连接后,我输入如下:
有人帮我解决我的问题吗?
oracle - 请帮助SQLPLUS?最初如何使用 DEFINE `OFF` 使 SQLPLUS 启动?
我有一个批处理脚本,它使用连接详细信息调用 PLSQL,它工作正常,但我仍然必须SET DEFINE OFF
在连接时明确说明。我想增强我的简单批处理脚本以将 SET DEFINE OFF 命令传递给 SQLPLUS,这样一旦我连接上,我将不再需要手动发出该命令。
这不起作用。我已登录,然后立即再次注销(输出如下):
SQL*Plus:版本 10.2.0.3.0 - 生产于 2009 年 6 月 15 日星期一 16:43:17
版权所有 (c) 1982, 2006,Oracle。版权所有。
连接到:Oracle 数据库 10g 企业版版本 10.2.0.4.0 - 具有分区、OLAP、数据挖掘和真正应用测试选项的生产
SQL> SQL> 从 Oracle Database 10g Enterprise Edition Release 10.2 断开连接。0.4.0 - 具有分区、OLAP、数据挖掘和实际应用程序测试选项的生产
D:>