我已经使用过T-SQL多年了,但我刚刚搬到一个需要编写一些Oracle东西的组织,可能只是简单的CRUD操作,至少在我找到我的脚之前.我不打算将数据库从一个数据库迁移到另一个数据库,只是从应用程序开发的角度与现有的Oracle数据库进行交互.是否有工具或实用程序可以轻松地将T-SQL转换为Oracle SQL,关键字映射器就是我正在寻找的东西.
PS我对RTFM太懒了,除了它不会成为我角色的重要部分所以我只想要一些东西让我加快速度.
到目前为止列出的语言差异与逻辑差异相比是微不足道的.任何人都可以查找NVL.什么难以查找
DDL
在SQL服务器中,您可以随时随地操纵您的架构,几乎不用担心.
在Oracle中,我们不喜欢存储过程中的DDL,所以你已经跳过了箍.您需要使用EXECUTE IMMEDIATE来执行DDL功能.
临时表
在SQL Server中,当逻辑变得有点困难时,常见的是快速执行sql并将其解析为临时表,然后使用该临时表完成下一步.MSSS使这很容易实现.
在Oracle中我们不喜欢这样.通过强制中间结果,您可以完全阻止优化程序为您找到快捷方式.但是如果你必须中途停止并坚持中间结果,Oracle希望你提前制作临时表,而不是动态.
锁
在MSSS中你担心锁定,你有nolock提示要应用于DML,你有锁升级以减少锁的数量.
在Oracle中,我们不会以这种方式担心这些问题.
阅读Commited
直到最近,MSSS还没有完全处理Read Committed隔离,所以你担心脏读.
Oracle几十年来一直如此.
等等
MSSS没有Bitmap索引,IOT,表集群,单表散列集群,非唯一索引强制执行唯一约束的概念....
我得到的印象是大多数答案都集中在迁移整个数据库或只是指出T-SQL和PL/SQL之间的一些差异.我最近遇到了同样的问题.Oracle数据库存在,但我需要将整个T-SQL脚本转换为PL/SQL.
我安装了Oracle SQL Developer并运行了Translation Scratch Editor(工具>迁移> Translation Scratch Editor).
然后,只需输入您的T-SQL,在下拉列表中选择正确的翻译(它应默认为'T-SQL to PL/SQL'),然后进行转换.