标签: sqlplus

如何使用SQL*Plus在create语句中间创建一个带空行的视图/表?

我希望通过脚本使用SQL*Plus创建一些视图,但是如果开发人员在中间声明中放置了一个空行,则似乎遇到了问题.以下语句在TOAD/PL/SQL开发人员等中工作正常,但在SQL*Plus中失败.(这通常是脚本化的,但手动输入会产生完全相同的错误)

谁能告诉我为什么/如何阻止它?

CREATE VIEW bob
AS
SELECT *

FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

使用SQL*Plus输出

SQL> CREATE VIEW bob
  2  AS
  3  SELECT *
  4
SQL> FROM DUAL;
SP2-0042: unknown command "FROM DUAL" - rest of line ignored.
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus

13
推荐指数
1
解决办法
5273
查看次数

我怎么能看到执行计划

我正在学习数据库索引,我正在努力了解使用它们的有效性.

  • 我想看看特定查询是否使用索引.
  • 我想实际看到使用索引执行查询和不使用索引之间的区别(所以我想查看我的查询的执行计划).

我正在使用sql +.

我如何查看执行计划,我在哪里可以找到告诉我我的索引是否被使用的信息?

oracle sqlplus sql-execution-plan

13
推荐指数
2
解决办法
2万
查看次数

TNSPING OK但sqlplus给ORA-12154?

我在Windows服务器上运行了Oracle 11,并且我登录到尝试使用SQL Plus的同一服务器上.当我尝试连接时,即使TNSPING和其他各种诊断看起来没问题,我也会得到ORA-12154.

谁有人建议为什么?下面的大量详细信息.


如果我像这样使用EZCONNECT,我可以使用sqlplus ..

sqlplus EST/EST@192.168.10.15/ORCL
Run Code Online (Sandbox Code Playgroud)

...但是如果我尝试使用这样的TNSNAMES进行连接......

sqlplus EST/EST@ORCL
Run Code Online (Sandbox Code Playgroud)

......我明白了......

ORA-12154: TNS:could not resolve the connect identifier specified
Run Code Online (Sandbox Code Playgroud)

TNSPING工作正常

C:\Documents and Settings\user1>tnsping ORCL

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 12-NOV-2013 12:41:14

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Used parameter files:
E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521)) (CONNECT_DATA = (SERVER = …
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus oracle11g ora-12514

13
推荐指数
2
解决办法
4万
查看次数

选择Oracle中的临时表

我想尝试做以下事情,

select * into temp from (select * from student);
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误,

ERROR at line 1:
ORA-00905: missing keyword
Run Code Online (Sandbox Code Playgroud)

在我的实例中,子查询(select*from student)更复杂.

我想在存储过程中使用它,所以我不想创建表本身.我只是想通过使用临时表使我的代码更具可读性.

oracle plsql sqlplus

13
推荐指数
4
解决办法
7万
查看次数

在oracle中连接SQLplus

我想在oracle的sqlplus中连接用户sys但是在我连接之后,我输入如下:

sqlplus sys as sysdba
password:123456
Run Code Online (Sandbox Code Playgroud)
Error:
  ORA-01030:insufficient privilege

  warning:You are no longer to connect oracle.
Run Code Online (Sandbox Code Playgroud)

有没有人帮我解决我的问题?

oracle sqlplus

12
推荐指数
2
解决办法
8万
查看次数

在pl/sql中显示动态EXECUTE输出来自sqlplus

如何EXECUTE从PL/SQL中获取动态选择结果Oracle sqlplus

我正在编写一个简单的sqlplus脚本来收集NUMBER给定表的所有列的总和:

SET SERVEROUTPUT ON

DECLARE
        CURSOR column_cur IS
                SELECT column_name FROM ALL_TAB_COLS
                WHERE owner = '&scheme_name' AND table_name = '&table_name'
                AND data_type = 'NUMBER';
        sql_query VARCHAR2(32767);
BEGIN
        sql_query := 'select ';
        FOR column_rec IN column_cur LOOP
                sql_query := sql_query || 'SUM(' || column_rec.column_name ||
                        ') "SUM(' || column_rec.column_name || ')", ';

        END LOOP;
        sql_query := substr(sql_query, 0, length(sql_query)-2) || -- remove trailing ', '
                ' from &scheme_name' || '.&table_name';
        EXECUTE IMMEDIATE sql_query; …
Run Code Online (Sandbox Code Playgroud)

oracle plsql sqlplus

12
推荐指数
1
解决办法
2万
查看次数

如何在SQL*Plus中查看所有索引(包括隐式索引)的列表?

有没有办法使用SQL*Plus获取特定表上的所有索引的列表?

我创建了一张桌子

CREATE TABLE temp(
id NUMBER PRIMARY KEY,
name VARCHAR2(20));
Run Code Online (Sandbox Code Playgroud)

应该在主键(id)上创建隐式索引.我怎么能看到那个索引?

SELECT * FROM all_indexes WHERE table_name = 'temp';
Run Code Online (Sandbox Code Playgroud)

没有选择任何行

sql indexing sqlplus

12
推荐指数
1
解决办法
4万
查看次数

参数的默认值未通过SQLPlus脚本

有没有办法在没有用户输入的情况下在sqlplus脚本中设置参数的默认值?

例如,我有一个SQL脚本sessions.sql:

SET VERIFY OFF
SET TERMOUT OFF
DEFINE uname = '&1'

COLUMN search_uname new_value search_uname
SELECT CASE WHEN '&uname' = '' THEN '%' ELSE UPPER('&uname') END AS search_uname 
FROM dual;

SET TERMOUT ON

SELECT sid, serial, username FROM v$session WHERE username LIKE '&search_uname';

我想从sqlplus中调用它,如下所示:

SQL> @sessions
Enter value for 1:

       SID    SERIAL# USERNAME
---------- ---------- ------------------------------
    56  20577 CONTEXT
.....
236 rows selected.

SQL> @sessions ""

       SID    SERIAL# USERNAME
---------- ---------- ------------------------------
    56  20577 CONTEXT
.....
236 rows selected. …

oracle sqlplus

12
推荐指数
2
解决办法
1万
查看次数

Mac上的Oracle Sqlplus客户端

我想在我的Mac上安装SqlPlus客户端,它是64位的.首先,我安装了sqlplus for 64-bit,但是我有错误: "Segmentation fault:11" 然后我安装了sqlplus for 32-bit,但是仍然有问题,它说: ../ libsqlplus.dylib:找不到合适的图像. ./libsqlplus.dylib:mach-o,但架构错误

我已经使用了很多教程,但仍然没有解决这个问题.

oracle macos sqlplus 32bit-64bit

12
推荐指数
1
解决办法
2万
查看次数

12
推荐指数
5
解决办法
8万
查看次数