标签: sqlplus

从varchar字段中仅选择单词的第一个字母

我在接受采访时被问到来自oracle sql的一个问题.这似乎是一个简单的问题,但我没有回答的答案.有人帮忙吗?

如果在一个列中有像"newyork是一个美丽的城市"的字符串.

select column_name from table_name;
Run Code Online (Sandbox Code Playgroud)

将导致

newyork is a beautiful city
Run Code Online (Sandbox Code Playgroud)

将输出作为包含所有首字母的字符串所需的查询是什么.即,输出应该是

niabc
Run Code Online (Sandbox Code Playgroud)

sql oracle sqlplus

5
推荐指数
2
解决办法
2319
查看次数

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

sqlplus和sqldeveloper之间的区别?

我有一个sql脚本文件,用于创建表和插入数据.

服务器在Oracle 10g上运行.

当我使用sqldeveloper(远程计算机)并运行我的脚本时,一切都很完美.但是当我进入服务器并且我在相同的数据库,架构上运行相同的脚本时,使用sqlplus的用户会出现一些错误(完整性,唯一性......)?

有什么问题,为什么我在sqldeveloper上没有问题,但在sqlplus上有一些问题?是什么导致的?

sqlplus oracle10g oracle-sqldeveloper

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

SqlPlus查询问题(Package Spec和Body)

我试图通过这样做从sqlplus获取包规范和正文..

select text from all_source
where name = 'PACK_JACK'
order by line;
Run Code Online (Sandbox Code Playgroud)

但我只是得到它的身体而不是规格..我必须改变以将它们两个作为一个文件..谢谢

oracle sqlplus package

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

SQLPlus AUTO_INCREMENT错误

当我尝试在SQLPlus中运行以下命令时:

CREATE TABLE Hotel
(hotelNo NUMBER(4) NOT NULL AUTO_INCREMENT,
hotelName VARCHAR(20) NOT NULL,
city VARCHAR(50) NOT NULL,
CONSTRAINT hotelNo_pk PRIMARY KEY (hotelNo));
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

(hotelNo NUMBER(4) NOT NULL AUTO_INCREMENT,
                        *
ERROR at line 2:
ORA-00907: missing right parenthesis
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

sql database oracle sqlplus

5
推荐指数
1
解决办法
9123
查看次数

错误:ORA-01789:查询块的结果列数不正确

我有两种关系观点。

第一种观点:

CREATE VIEW VIEW1
AS
SELECT T#,
MAX(DECODE(LEG#,1,DEPARTURE)) ORIGIN,
MAX(DECODE(LEG#,1,DESTINATION)) DESTINATION1
FROM TRIPLEG
WHERE T# IN
(SELECT T# FROM TRIPLEG WHERE LEG# < 3
AND T# IN
(SELECT T# FROM TRIPLEG GROUP BY T#
HAVING COUNT(T#) < 3)
GROUP BY T#)
GROUP BY T#
ORDER BY T#;
Run Code Online (Sandbox Code Playgroud)

第二种观点:

CREATE VIEW VIEW2
AS
SELECT T#,
MAX(DECODE(LEG#,2,DESTINATION)) DESTINATION1
FROM TRIPLEG
WHERE T# IN
(SELECT T# FROM TRIPLEG WHERE LEG# < 3
AND T# IN
(SELECT T# FROM TRIPLEG GROUP BY T# …
Run Code Online (Sandbox Code Playgroud)

sqlplus

5
推荐指数
1
解决办法
6万
查看次数

使用顺序功能时出现“ ORA-00928:缺少SELECT关键字”错误

抱歉,我是SQLPlus的新手!

所以在这里,我有一个名为iowe的表,我有四个记录预加载到其中。它是这样的:

NAME AMOUNT序列号
---------- ---------- -------------
Praveen 20500 1
肉山5000 2
罗希特5000 3
沙石8000 4

在输入这四个记录之前,我不了解SQL中的序列函数。因此,我尝试将其隐含在此表中。我想输入一个新记录,名称为“ XXX ”,金额为500,然后使用sequence命令,使“ 序列号 ”自动递增。

所以当我从user_sequences中选择*时,我创建了一个名为iowesqn的序列:

SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY CO CACHE_SIZE LAST_NUMBER
------------------------------ ---------- ---------- ------------------------ -----------
平方1 5 2 NN 0 3
IOWESQN 1 1.0000E + 27 1 NN 0 7

请忽略序列SQN

要插入序列IOWESQN,我使用了以下命令:“插入iowe(name,amount,“ Serial Number”)values('XXX',500,iowesqn.nextval)“

一切正常。在每个条目上,“序列号”列都将增加1。但是,当我尝试“插入iowe('&name','&amount',“序列号”)value(iowesqn.nextval));“时;,它询问我名字和金额,但随后(输入金额后),它会引发错误。内容为:“ ORA-00928:缺少SELECT关键字”

这是输入的数量之后的全部内容:

旧的1:插入iowe(“&name”,“&amount”,“序列号”)值(iowesqn.nextval))新的1:插入到iowe(“ ret”,“ ert”,“序列号”)值(iowesqn .nextval))插入iowe('ret','ert',“ Serial Number”)value(iowesqn.nextval))*在第1行出错:ORA-00928:缺少SELECT关键字

请告诉我我做错了(或(极不可能)这是什么)。

提前致谢。

sqlplus sequence ora-00928

5
推荐指数
1
解决办法
7万
查看次数

Oracle插入时间戳 - 需要AM/AM或PM/PM

在SQL Developer中,我创建了一个导出的.sql文件,(一个非常大的文件).它包含数百个插件,如:

"Insert into SCHEMA.TABLE (
 ... ,
 CREATEDATE,
 MODIFIEDDATE,
 ....
) 
values (
 ... , 
 to_timestamp('20-AUG-12 01.09.53.271000000 AM','DD-MON-RR HH.MI.SS.FF AM'),
 to_timestamp('20-AUG-12 01.09.53.271000000 PM','DD-MON-RR HH.MI.SS.FF PM'),
 ...
);"
Run Code Online (Sandbox Code Playgroud)

当我在SQL Developer中运行它时,它工作正常.但是我无法用SQL Developer导入一些.sql文件(或者我不知道该怎么做).

当我使用SQL*Plus运行它时出现以下错误:

ORA-01855:需要AM/AM或PM/PM

当我从插入中删除AM/PM关键字时,SQL*Plus可以插入行,与它们一起,没有运气.AM/PM有什么问题?

这是确切的insert命令:

Insert into SCHEMA.TABLE(

ENTRYID,GROUPID,COMPANYID,USERID,USERNAME,CREATEDATE,MODIFIEDDATE,
CLASSNAMEID,CLASSPK,CLASSUUID,VISIBLE,STARTDATE,ENDDATE,PUBLISHDATE,
EXPIRATIONDATE,MIMETYPE,TITLE,DESCRIPTION,SUMMARY,URL,HEIGHT,WIDTH,
PRIORITY,VIEWCOUNT

) values (

11902,11005,10136,10178,'Test Test',
to_timestamp('20-AUG-12 01.09.53.271000000 AM','DD-MON-RR HH.MI.SS.FF AM'),
to_timestamp('20-AUG-12 01.09.53.271000000 PM','DD-MON-RR HH.MI.SS.FF PM'),
10076,11900,'AAA',1,null,null,null,null,null,
'ABC','XyZ',null,null,0,0,0,2563

);
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus date-formatting

5
推荐指数
1
解决办法
3万
查看次数

为什么我得到SP2-0253

我正在接受考试。但是我认为linesize已经足够大了。我知道增加linesize可以解决问题。请让我知道为什么我在这里得到SP2-0253。

SQL> COLUMN sal  HEADING 'Salary' FORMAT $99,999.99
SQL> set lines 10
SQL> show user
USER is "SCOTT"
SQL> desc sal from emp
Usage: DESCRIBE [schema.]object[@db_link]
SQL> select sal from emp where rownum = 1;
SP2-0253: data item 1 ("SAL") will not fit on line
SQL> set lines 20
SQL> /

 Salary
-----------
$800.00

SQL>
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus

5
推荐指数
1
解决办法
2793
查看次数

如何将SQLPlus与tnsnames.ora连接

我想连接Oracle数据库而不安装Oracle Client。

我下载了:

  • “即时客户端软件包-基本”和
  • “即时客户端程序包-SQL * Plus”

然后C:\Oracle\instantclient,在上创建文件夹,在其中提取所有软件包。

我被设置system environment为:

Path - C:\Oracle\instantclient NSL_LANG - with properly key ORACLE_HOME - C:\Oracle\instantclient ORACLE_SID - C:\Oracle\instantclient TNS_ADMIN - C:\Oracle\instantclient

然后我创建tnsnames.ora了配置文件C:\Oracle\instantclient

当我在cmd中输入命令时:

sqlplus user/password @HOST

我有一条消息,如:

ERROR: ORA-12560: TNS:protocol adapter error

但是当我尝试像:

sqlplus user/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=address to host)(Port=1521))(CONNECT_DATA=(SID=address to SID)))

一切正常。为什么SQL识别tnsnames.ora文件有问题?

oracle tnsnames sqlplus

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