向我介绍Oracle PL/SQL扩展

向我介绍Oracle PL/SQL扩展,sql,oracle,plsql,Sql,Oracle,Plsql,我是一个熟练的SQL用户;我有信心使用ANSI-SQL为Sybase、MS SQL Server、MySQL或postgresql创建模式并优化查询。我理解连接、子查询、索引等,所以我不需要重述在Oracle下没有什么不同的内容 我将接受一份需要使用Oracle的工作。让我看一看在线资源,这些资源不是为Oracle的SQL而设计的,而是为已经了解SQL的人解释PL/SQL的 我对以下内容特别感兴趣:PL/SQL扩展的简明指南,以及优化Oracle查询 真的,你还想要什么 如果您是Oracle的新

我是一个熟练的SQL用户;我有信心使用ANSI-SQL为Sybase、MS SQL Server、MySQL或postgresql创建模式并优化查询。我理解连接、子查询、索引等,所以我不需要重述在Oracle下没有什么不同的内容

我将接受一份需要使用Oracle的工作。让我看一看在线资源,这些资源不是为Oracle的SQL而设计的,而是为已经了解SQL的人解释PL/SQL的

我对以下内容特别感兴趣:PL/SQL扩展的简明指南,以及优化Oracle查询

真的,你还想要什么

如果您是Oracle的新手,我还建议您花一点时间学习它的事务模型,因为它与SQL Server有细微的不同,这可能会对您造成伤害。这是一篇关于它的好文章。另一张建议阅读Kyte的海报非常合适。

可以浏览

我建议您研究以下强大功能:-

解析函数 物化视图 流水线PL/SQL函数
阅读相关概念:

您应该知道PL/SQL或多或少是一种完整的编程语言。像我这样的疯子创建应用程序,其中大部分工作是在服务器上的PL/SQL包中完成的。

阅读Steve Feuerstein的文章和书籍,他是PL/SQL的主要传播者之一

关注它们的PL/SQL数据结构,如游标、关联数组、表PL/SQL而不是SQL等

谷歌搜索Oracle代码时要记住的一点是,你会遇到比新代码多得多的旧代码。试着学习新的而不是旧的

例如,在查询上循环的旧方法是创建一个游标,然后在其上执行while循环,直到它不返回任何内容。现在,您可以隐式创建如下循环:


要优化查询,请联系SQL Developer并运行解释计划。这可能需要一段时间才能理解,但这是我找到的最好的方法。另外,如果您还没有遇到过它,WITH子句在优化查询方面非常有效。

好的一点是,这个问题听起来好像OP认为PL/SQL只是select中ANSI SQLFOR测试之上的一些额外的Oracle功能。。环end loop至少有12年历史了,我在1997年Oracle 7.3中使用过它。我在隐式游标的“新性”上犯了错误。然而,我相信,在谷歌搜索oracle代码时必须小心的一点仍然有效。 FOR Test IN (Select Ct from TableCT) LOOP Sum := Sum + Test.Ct; END LOOP;