对于各种流行的数据库系统,如何列出表中的所有列?
对于各种流行的数据库系统,如何列出表中的所有列?
我知道这句话:
create table xyz_new as select * from xyz;
它复制了结构和数据,但如果我只想要结构呢?
varchar和varchar2的区别是什么?
在Oracle数据库表中返回给定列的重复值及其出现次数的最简单SQL语句是什么?
例如:我有一个列为JOB_NUMBER的JOBS表。如何才能知道我是否有任何重复的JOB_NUMBERs,以及它们重复了多少次?
表1:
id name desc
-----------------------
1 a abc
2 b def
3 c adf
表2:
id name desc
-----------------------
1 x 123
2 y 345
在oracle SQL中,我如何运行一个SQL更新查询,可以更新表1与表2的名称和desc使用相同的id?所以最终的结果是
表1:
id name desc
-----------------------
1 x 123
2 y 345
3 c adf
问题是从更新一个表从另一个数据,但特别为oracle SQL。
我们有一个本地运行的应用程序,我们遇到了以下错误:
ORA-12514: TNS:监听器当前不知道所请求的服务 在连接描述符中
我已经使用正确解决的tnspring测试了连接 我尝试使用SQLPlus进行连接,但失败了,出现了与上面相同的错误。我在SQLPlus中使用了以下语法:
sqlplus username/password@addressname[or host name]
我们已核实:
服务器上的TNS Listener正在运行。 服务器上的Oracle本身正在运行。
我们不知道这个环境发生了什么变化。 还有什么可以测试的吗?
UPSERT操作在表中更新或插入一行,这取决于表中是否已经有与数据匹配的行:
if table t has a row exists that has key X:
update t set mystuff... where mykey=X
else
insert into t mystuff...
既然Oracle没有特定的UPSERT语句,那么最好的方法是什么呢?
在Oracle数据库中是否存在布尔类型,类似于Ms SQL Server中的BIT数据类型?
Oracle中的用户和模式有什么区别?
我正在寻找一种很好的方法来执行多行插入到Oracle 9数据库。以下内容在MySQL中有效,但在Oracle中似乎不受支持。
INSERT INTO TMP_DIM_EXCH_RT
(EXCH_WH_KEY,
EXCH_NAT_KEY,
EXCH_DATE, EXCH_RATE,
FROM_CURCY_CD,
TO_CURCY_CD,
EXCH_EFF_DATE,
EXCH_EFF_END_DATE,
EXCH_LAST_UPDATED_DATE)
VALUES
(1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
(2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
(3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
(4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
(5, 1, '28-AUG-2008', 1.16, 'USD', 'AUD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
(6, 1, '28-AUG-2008', 7.81, 'USD', 'HKD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008');