微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

嵌入式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,而且使用这种方法可以使系统调用更具可读性.我们称之为嵌入式外语预处理器方法.
> sql的嵌入式外语预处理器是否可用于实现?您是否会看到能够在Java代码中编写本机sql语句的好处?

编辑

我真的在问你是否认为OO语言中的sql是一种回归,如果没有,那么可以采取哪些措施来改善它.

解决方法

Java中已经存在嵌入式sql的标准,它被称为 SQLJ.

话虽如此,我从未见过它在野外使用,我不知道它是否真的是一个选项,现代工具.当标准出现时,甲骨文大力支持它,但我认为它在藤蔓上死了.

原文地址:https://www.jb51.cc/mssql/76866.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐