我们正在把一个新项目在房子,而以前所有我们的工作是在SQL服务器的新产品使用oracle后结束。

任何人都可以提供咨询的任何婴儿床床单或者像这样,提供了一个SQL服务器的人像我一样破败的什么重大差异是希望能够得到建立和运行,尽快。

有帮助吗?

解决方案

@hamishcmcn

你的论断,即"==Null是不正确的。在关系的世界空应该永远只能被解读为意味着"我不知道"。唯一的结果,你会得到从Oracle(和大多数其他体面的数据库)的时候你比较值Null'False'.

关掉我的头顶的主要差异之间的SQL服务器和Oracle是:

  • 学会爱的交易,它们是你的朋友-自动提交是没有的。
  • 读一致性和缺乏阻读
  • SQL Server Database==Oracle模式
  • PL/SQL是一个很大的要素的丰富比T-SQL
  • 学习之间的差别实例和数据库在Oracle
  • 你可以拥有多于一个Oracle instance在服务器上
  • 没有尖尖的弹簧的巫师(除非你真的,真的希望他们)

其他人一样,请帮助我出去,并添加更多。

其他提示

主要的差别,我注意到了在移动从SQL Server to Oracle是,在Oracle你需要使用光标中选择发言。此外,临时使用表不同。在SQL服务器你都可以创建一个在一个程序,然后将它放在末尾,但在Oracle你应该已经有一个临时表格创建过程之前执行。

我会看着的数据类型太因为他们是很大的不同。

串联:
Oracle:||或concat()
Sql服务器:+

这些链接可以有趣:
http://www.dba-oracle.com/oracle_news/2005_12_16_sql_syntax_differences.htm
http://www.mssqlcity.com/Articles/Compare/sql_server_vs_oracle.htm (旧的一种:Ora9vs Sql2000年)

@hamishmcn

通常这是一个糟糕的想法..临时表在oracle只是应该创建和留(除非它是一种一次性/很少使用)。内容的临时表是当地每届会议和截当会关闭。有一点点在支付费用的创/删除的临时表格,甚至可能导致冲突,如果两个过程的尝试创建表在同一时间和意外提交执行言.

你有什么问这里是一个巨大主题,特别是因为你还没有真的说你是什么使用的数据库(例如,你将要从TSQL->PL/SQL或者只是改变后端数据库java应用程序连接?)

如果你是认真的关于使用数据库的选择其potiential,那么我建议你挖深一点并阅读喜欢的东西 专家Oracle数据库的结构:9i和10g编程技术和解决方案 汤姆凯特.

看出来的差别方式的空串的处理。
INSERT INTO atable (a_varchar_column) VALUES ('');

是一样的

INSERT INTO atable (a_varchar_column) VALUES (NULL);

我有没有 sqlserver 体验,但我的理解是,这两者之间的区别

如果你需要您可以创建和降临时表在程序的使用 立即执行 命令。

到andy47,我并不意味着可以使用空串在一个比较,但oracle对待它就像空如果你用它在插入。重读我的入口,然后再试下SQL:

CREATE TABLE atable (acol VARCHAR(10));
INsERT INTO atable VALUES( '' );
SELECT * FROM atable WHERE acol IS NULL;

并避免"是的,是的,不,这不是"的情况, 这里是外部的链接

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top