当我尝试在SQL*Plus中显示LOB(大对象)列的内容时,它会被截断.我如何展示整件事?
尝试更新sqlplus中的列值时出现问题.
它基本上不会完成,只是挂起.我想知道是否还有强制删除oracle中的锁?
我注意到一个名为v $ locked_object的表,其中包含与我遇到的问题相关的注册ID.
希望我已经解释得这么好了.
在此先感谢您的帮助!
我有一个存在于Oracle数据库中的表,但没有显示在SQL Developer工具的表列表中.但是,如果我去SQL*Plus,并做一个
select table_name from user_tables;
Run Code Online (Sandbox Code Playgroud)
我列出了表格.如果我输入
desc snp_clearinghouse;
Run Code Online (Sandbox Code Playgroud)
它向我展示了这些领域.我想得到create语句,因为我需要添加一个字段.我可以修改表来添加字段,但我仍然需要将create语句放入我们的源代码控制中.使用什么pl/sql语句来获取表的create语句?
如何使用sqlplus for Oracle 10g查看存储过程的代码?
当我输入时:
desc daily_update;
Run Code Online (Sandbox Code Playgroud)
它显示了参数,但是当我尝试执行以下操作时:
select * from all_source where name = 'daily_update';
Run Code Online (Sandbox Code Playgroud)
我明白了
没有选择任何行
我究竟做错了什么?
我是新手使用SqlPlus但不是新手使用SQL,我在编辑器中编写并尝试运行我编写的脚本后出现以下错误.所有这些看起来都是有效的,并且适用于sql小提琴...我不确定是什么问题.有任何想法吗??我创建的文件似乎都没有工作....
SQL> start sales.sq;
Run Code Online (Sandbox Code Playgroud)
其中包含
1 create table salesreps
2 (empl_num number(3,0) primary key,
3 name varchar2(15) not null,
4 age number(3,0),
5 rep_office number(2,0),
6 title varchar2(10),
7 hire_date varchar2(10) not null,
8 manager number(3,0),
9 quota number(10,2),
10 sales number(10,2) not null);
Run Code Online (Sandbox Code Playgroud)
生成以下错误
SP2-0734: unknown command beginning "name varch..." - rest of line ignored.
SP2-0734: unknown command beginning "age number..." - rest of line ignored.
SP2-0734: unknown command beginning "rep_office..." - rest of line ignored.
SP2-0734: unknown command …Run Code Online (Sandbox Code Playgroud) 我得到这个错误我无法弄清楚出了什么问题.
第1行的DECLARE
*
ERROR:
ORA-01422:精确提取返回超过请求的行数
ORA-06512:第11行
这是我的代码.
DECLARE
rec_ENAME EMPLOYEE.ENAME%TYPE;
rec_JOB EMPLOYEE.DESIGNATION%TYPE;
rec_SAL EMPLOYEE.SALARY%TYPE;
rec_DEP DEPARTMENT.DEPT_NAME%TYPE;
BEGIN
SELECT EMPLOYEE.EMPID, EMPLOYEE.ENAME, EMPLOYEE.DESIGNATION, EMPLOYEE.SALARY, DEPARTMENT.DEPT_NAME
INTO rec_EMPID, rec_ENAME, rec_JOB, rec_SAL, rec_DEP
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.SALARY > 3000;
DBMS_OUTPUT.PUT_LINE ('Employee Nnumber: ' || rec_EMPID);
DBMS_OUTPUT.PUT_LINE ('---------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Name: ' || rec_ENAME);
DBMS_OUTPUT.PUT_LINE ('---------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Designation: ' || rec_JOB);
DBMS_OUTPUT.PUT_LINE ('----------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Salary: ' || rec_SAL);
DBMS_OUTPUT.PUT_LINE ('----------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Department: ' || rec_DEP);
END;
/
Run Code Online (Sandbox Code Playgroud) 我最近开始研究oracle数据库.通常我有很多sqlplus窗口打开到不同的oracle数据库.从一个sqlplus会话切换到另一个sqlplus会话时,如何查看每个sqlplus会话的当前会话详细信息?任何帮助是极大的赞赏!
每当我使用Sql*plus运行sql脚本并检查$?时,即使脚本不成功,我也会得到0.
例
#$ sqlplus user/password@instance @script.sql
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 7 14:20:44 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
v$dataf-ile d,
*
ERROR at line 6:
ORA-00933: SQL command not properly ended
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining …Run Code Online (Sandbox Code Playgroud) 我从Oracle下载了SQLPLUS:
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
Basic Lite和SQL*Plus
然后我启动了SQL*Plus:
c:\Program Files\Oracle\instantclient_12_1>sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Wed Apr 15 15:25:36 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Run Code Online (Sandbox Code Playgroud)
并尝试连接到数据库:
connect user\password@hostname
Run Code Online (Sandbox Code Playgroud)
并收到错误消息:
ERROR:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我运行了Jakub建议的查询,我得到了
SQL> select sys_context('USERENV','SERVICE_NAME') from dual;
SYS_CONTEXT('USERENV','SERVICE_NAME')
--------------------------------------------------------------------------------
SYS$USERS
SQL> select sys_context('USERENV','SID') from dual;
SYS_CONTEXT('USERENV','SID')
--------------------------------------------------------------------------------
877
SQL>
Run Code Online (Sandbox Code Playgroud) 当我在SQL*Plus中运行select命令时,真的很烦人,例如:
SELECT * FROM books;
Run Code Online (Sandbox Code Playgroud)
输出格式错误且不可读(行单元格不在一行中,但由换行符等分隔):

如何配置它以更好的方式显示SELECT结果?
编辑:
这是我的login.sql文件内容:
SET ECHO OFF
SET SERVEROUTPUT ON SIZE 1000000
SET PAGESIZE 999
SET LINESIZE 132
Run Code Online (Sandbox Code Playgroud)
EDIT2:
Affer增加了LINESIZE:
SET LINESIZE 32000
Run Code Online (Sandbox Code Playgroud)
它现在看起来像这样:
