SQL 中是否有与 iSeries OVDBF 命令等效的命令?
我在 SQL 环境中有一个要求,即在特定情况下,过程中对表(或视图)A 的所有引用实际上都使用表(或视图)B。在 iSeries 上,我将使用 OVRDBF 命令来覆盖对表 A 的引用与表 B:OVDBF FILE(A) TOFILE(B)。 SQL 中与此等效的是什么? 有吗?
我的目标是最终得到一个不知道覆盖的过程。 我不希望过程中的条件逻辑在满足某些条件时指导表 B 的处理。 愿景:
在典型情况下:只需调用该过程
在特定替代情况下:执行 OVDBF 等效操作,然后调用该过程
I have a requirement in a SQL environment that under specific circumstances, all references to table (or view) A in a procedure actually use table (or view) B. On the iSeries I would have used the OVRDBF command to override references to table A with table B: OVRDBF FILE(A) TOFILE(B). What would be the equivalent to this in SQL? Is there one?
My goal is to end up with a procedure that is ignorant of the override. I don't want conditional logic inside the procedure that directs processing at table B when certain conditions are met. The vision:
Under typical circumstances: Just invoke the procedure
Under specific alternative circumstances: Perform the OVRDBF equivalent and then Invoke the procedure
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不确定哪个 SQL 环境支持哪些选项:
我相信 DB2 有一个 CREATE ALIAS 语句。 将 SQL 写入别名。
另一种可能性:对视图运行查询:您将在其中执行 OVDBF、删除视图并在所需的表上重建它。
Not sure which SQL environment support which options:
I believe DB2 has a CREATE ALIAS statement. Write the SQL over the alias.
Another possibility: run your queries over views: where you would do the OVRDBF, drop the view and rebuild it over the desired table.
正如Ed提到的,如果您可以修改您的过程:
1)为文件(A)创建一个别名
2)修改过程以引用XYZ而不是A。3
)运行过程以使用文件B时执行
如果您无法修改过程,并且您不担心同时访问表 A 您可以使用:
As Ed mentions if you can modify your procedure:
1) Create an alias for file(A)
2) Modify the procedure to reference XYZ instead of A.
3) When running the procedure to use file B execute
If you can't modify the procedure and you're not worried about simultaneous access to table A you could use: