Tag: oracle

如何在Oracle上使用AUTO_INCREMENT创buildid?

在Oracle中,似乎没有AUTO_INCREMENT的概念,直到并包括11g版本。 如何创build一个在Oracle 11g中像自动增量一样的列?

ORA-00979不是一组expression式

我得到以下查询ORA-00979: SELECT cr.review_sk, cr.cs_sk, cr.full_name, tolist(to_char(cf.fact_date, 'mm/dd/yyyy')) "appt", cs.cs_id, cr.tracking_number from review cr, cs, fact cf where cr.cs_sk = cs.cs_sk and UPPER(cs.cs_id) like '%' || UPPER(i_cs_id) || '%' and row_delete_date_time is null and cr.review_sk = cf.review_wk (+) and cr.fact_type_code (+) = 183050 GROUP BY cr.review_sk, cr.cs_sk, cf.fact_date, cr.tracking_number ORDER BY cs.cs_id, cr.full_name; 我找不到在同一查询中同时具有GROUP BY和ORDER BY子句的任何示例。 […]

在Oracle上使用内连接更新语句

我有一个在MySQL中正常工作的查询,但是当我在Oracle上运行它时,出现以下错误: SQL错误:ORA-00933:SQL命令未正确结束 00933. 00000 – “SQL命令未正确结束” 查询是: UPDATE table1 INNER JOIN table2 ON table1.value = table2.DESC SET table1.value = table2.CODE WHERE table1.UPDATETYPE='blah';

如何在Oracle中重置序列?

在PostgreSQL中 ,我可以这样做: ALTER SEQUENCE serial RESTART WITH 0; 有没有Oracle的等价物?

如何在Oracle中存储日期?

如何在Oracle中存储日期? 例如我知道大多数系统使用纪元时间来确定它是什么时间。 通过计算1970年1月1日之后的几秒钟。Oracle是否也这样做? 我问这个问题的原因是我注意到如果你在Oracle中使用两个日期并且减去它们,你会得到一个浮点数,间隔了多少天。 例 (Sysdate – dateColumn) 会返回这样的东西(取决于时间) 3.32453703703703703703703703703703703704 现在Oracle正在进行转换和分发这种格式,或者Oracle将日期与特定时间段隔离了多少天? (像大纪元时间)

提供程序与Oracle客户端的版本不兼容

我试图在我的ASP.net项目上使用Oracle ODP.NET 11g(11.1.0.6.20)即时客户端作为数据提供者,但是当我运行aspx页面时,我得到一个“ 提供程序与版本不兼容的Oracle客户端 “错误消息。 任何帮助,将不胜感激。 我在Visual Studio 2005中引用了数据提供者,后面的代码如下所示: using Oracle.DataAccess.Client; .. OracleConnection oOracleConn = new OracleConnection(); oOracleConn.ConnectionString = "Data Source=MyOracleServerName;" + "Integrated Security=SSPI"; oOracleConn.Open(); //Do Something oOracleConn.Close(); 该页面的错误如下所示: Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client Source Error: Line 21: Line 22: Line 23: OracleConnection oOracleConn = new […]

Oracle:如何UPSERT(更新或插入表)?

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语句,最好的办法是什么?

如何选择SQL数据库表中的第n行?

我有兴趣学习一些(理想的)数据库不可知的方式从数据库表中选择第n行。 看看如何使用下列数据库的本地功能来实现这一点也是有趣的: SQL Server MySQL的 PostgreSQL的 SQLite的 神谕 我目前正在做类似于SQL Server 2005中的以下内容,但我有兴趣查看其他更多不可知的方法: WITH Ordered AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate FROM Orders) SELECT * FROM Ordered WHERE RowNumber = 1000000 为上述SQL信誉: Firoz Ansari的博客 更新:请参阅Troels Arvin关于SQL标准的回答 。 Troels,你有没有我们可以引用的链接?