database - 如何创建从表中选择作为参数的过程
问题描述
是否可以按照下面的代码在 oracle 过程中选择参数作为表名。
CREATE OR REPLACE PROCEDURE GET_TABLENAME_BY_PARAMETER(pr_tbname IN VARCHAR, v_cursor OUT SYS_REFCURSOR) is BEGIN open v_cursor for select *from pr_tbname; END GET_TABLENAME_BY_PARAMETER;
解决方案
可以构造动态 SQL 以返回输入表名的 refcursor。
CREATE OR REPLACE PROCEDURE GET_TABLENAME_BY_PARAMETER(pr_tbname IN VARCHAR, v_cursor OUT SYS_REFCURSOR) is
BEGIN open v_cursor for ' select * from '||pr_tbname;
END GET_TABLENAME_BY_PARAMETER;
推荐阅读
- adobe-reader - 保护模式下的 AppContainer 不兼容 - Adobe Acrobat Reader
- excel - Excel 在运行宏时一直冻结
- c++ - c ++错误:'Matrix *'和'Matrix *'类型的无效操作数到二进制'operator +'
- c# - 是 IHubContext
SignalR 线程安全? - here-api - 使用 Geocoder API 搜索邮政信箱
- python - Timeline of all changes to piece of code to revert back
- c# - 在触摸屏上的 ScrollViewer 内的 cavas 内拖放元素
- javascript - 使用样式组件的下拉菜单:如何正确使用类选择器?
- javascript - 如何保持表格单元格的宽度相同?
- php - 如何在 php 中使用多个 SQL SELECT 查询作为 WHERE 子句?