嵌入式SQL,如Java等OO语言
让我在OO语言中使用SQL的一件事就是必须在字符串中定义SQL语句.
当我以前在IBM大型机上工作时,这些语言使用SQL预处理器来解析本机代码中的SQL语句,因此语句可以用明文SQL编写而不会混淆字符串,例如在Cobol中有一个EXEC SQL. … END-EXEC语法结构,允许将纯SQL语句嵌入Cobol代码中. <pure cobol code,including assignment of value to local variable HOSTVARIABLE> EXEC SQL SELECT COL_A,COL_B,COL_C INTO :COLA,:COLB,:COLC FROM TAB_A WHERE COL_D = :HOSTVARIABLE END_EXEC <more cobol code,variables COLA,COLB,COLC have been set> …这使得SQL语句非常容易阅读和阅读检查错误.在EXEC SQL …. END-EXEC令牌之间没有对缩进,换行等的限制,因此您可以根据品味格式化SQL语句. 请注意,此示例适用于单行选择,当需要多行结果集时,编码不同(但仍然易于阅读). 所以,以Java为例 >是什么让“旧COBOL”方法不受欢迎?不仅是SQL,而且使用这种方法可以使系统调用更具可读性.我们称之为嵌入式外语预处理器方法. 编辑 我真的在问你是否认为OO语言中的SQL是一种回归,如果没有,那么可以采取哪些措施来改善它. 解决方法Java中已经存在嵌入式SQL的标准,它被称为 SQLJ.话虽如此,我从未见过它在野外使用,我不知道它是否真的是一个选项,现代工具.当标准出现时,甲骨文大力支持它,但我认为它在藤蔓上死了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |