我在接受采访时被问到来自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) 如何在oracle 10g中永久设置linesize,pagesize?
我有一个sql脚本文件,用于创建表和插入数据.
服务器在Oracle 10g上运行.
当我使用sqldeveloper(远程计算机)并运行我的脚本时,一切都很完美.但是当我进入服务器并且我在相同的数据库,架构上运行相同的脚本时,使用sqlplus的用户会出现一些错误(完整性,唯一性......)?
有什么问题,为什么我在sqldeveloper上没有问题,但在sqlplus上有一些问题?是什么导致的?
我试图通过这样做从sqlplus获取包规范和正文..
select text from all_source
where name = 'PACK_JACK'
order by line;
Run Code Online (Sandbox Code Playgroud)
但我只是得到它的身体而不是规格..我必须改变以将它们两个作为一个文件..谢谢
当我尝试在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)
我究竟做错了什么?
我有两种关系观点。
第一种观点:
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的新手!
所以在这里,我有一个名为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关键字
请告诉我我做错了(或(极不可能)这是什么)。
提前致谢。
在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) 我正在接受考试。但是我认为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数据库而不安装Oracle Client。
我下载了:
然后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文件有问题?