- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何从这段代码中得到结果
EXECUTE IMMEDIATE 'SELECT * FROM ' || table_name
通过for循环
通常的方法是这样的
for items in (select * from this_table)
loop
htp.p(items.id);
end loop;
最佳答案
如果您真的需要select * from
dynamic table name,那么我可能会选择dbms_sql
输入记录:
create type tq84_varchar2_tab as table of varchar2(4000);
/
输入一个结果集(它是一个记录数组):
create type tq84_varchar2_tab_tab as table of tq84_varchar2_tab;
/
执行选择并返回结果集实例的函数:
create or replace function tq84_select_star_from_table(table_name in varchar2)
return tq84_varchar2_tab_tab
as
stmt_txt varchar2(4000);
cur number;
columns_desc dbms_sql.desc_tab;
column_cnt number;
result_set tq84_varchar2_tab_tab;
begin
stmt_txt := 'select * from ' || table_name;
cur := dbms_sql.open_cursor;
dbms_sql.parse(cur, stmt_txt, dbms_sql.native);
dbms_sql.describe_columns(cur, column_cnt, columns_desc);
dbms_sql.close_cursor(cur);
stmt_txt := 'select tq84_varchar2_tab(';
for i in 1 .. column_cnt loop
if i != 1 then
stmt_txt := stmt_txt || ',';
end if;
stmt_txt := stmt_txt || columns_desc(i).col_name;
end loop;
stmt_txt := stmt_txt || ') from ' || table_name;
-- dbms_output.put_line(stmt_txt);
execute immediate stmt_txt
bulk collect into result_set;
return result_set;
end tq84_select_star_from_table;
然后该函数可以与类似的东西一起使用:
declare
records tq84_varchar2_tab_tab;
begin
records := tq84_select_star_from_table('user_objects');
for i in 1 .. records.count loop
dbms_output.put_line (records(i)(5) || ': ' || records(i)(1));
end loop;
end;
/
关于sql - 在 plsql 中立即执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803340/
在表列中,我有这个值: DV-2011-01-000004(数据类型为varchar2) 我怎样才能得到字符串“000004”的一部分?在 t-sql 中,他们有这个 right() 函数,但在 PL
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
当我在 plsql 过程的主体中使用 create 语句时,出现错误PLS-00103 在期望以下之一时遇到符号创建....谁能告诉我这是什么原因和解决方案。 最佳答案 在 PL/SQL 中你不能直接
我一直在使用 PL/SQL 为 Oracle db 创建包,我正在尝试找到一种不使用“put_line”命令来调试 PL/SQL 包的好方法,有没有人有一些关于如何成功调试一个好的提示Toad 或 S
我有一个函数会返回一个类型为 my_table%ROWTYPE 的记录,在调用者中,我可以检查返回的记录是否为空,但是 PL/SQL 提示 if 语句 PLS-00306: wrong number
我想在自动化测试中检查 PL/SQL 查询语法,看起来 https://github.com/porcelli/plsql-parser 可能对此有用。我并不容易找到我将如何安装和使用它。 请注意,这
1、PL/SQL官网下载 官网下载地址:https://www.allroundautomations.com/registered-plsqldev/ 或者在我的网盘下载 链接: h
我有一个充满了我想要运行的 PLSQL 脚本的目录,问题是该目录的内容是动态的,我无法知道这些脚本的名称是什么。 我必须编写一些东西来运行该目录中的所有 sql 文件,但我找不到在 PLSQL 中调用
我正在构建一个使用 PHP 从 Oracle10g 数据库服务器获取数据的应用程序。我的输入表单有一系列复选框,这些复选框通过数组提交到处理页面(代码过滤到相关元素): 处理页面调
我收到以下错误。在 SELECT CASE 语句处收到错误。 PLS-00428: an INTO clause is expected in this SELECT statement FOR RE
我对 plsql 中的动态变量有点了解。我在 EXECUTE IMMEDIATE 上收到错误“无效的主机/绑定(bind)变量名称”陈述。提前致谢。 CREATE OR REPLACE PROCEDU
我正在使用 execute immediate 在 pl/sql 中创建一个临时表,并且还在表中插入为什么要创建表。 之后我更新表格。但是我收到错误表不存在,因为它没有创建表,所以立即执行 示例代码-
我有一个程序,它每隔一小时运行一次,填充一张表。程序处理的记录很多,所以每次执行大约需要12~17分钟。 您现在是否有办法(即触发器)记录每次执行的持续时间(即记录到表中)? 最佳答案 我不知道允许自
我正在分析一些遗留代码。它是大约 80.000 行旧的 plsql 代码。乍一看,源代码中有相当多的重复内容需要删除。而不是做 diff 的手册并查看每个文件,必须有一些工具/命令行混淆来检测源代码的
我是 oracle 作业脚本的新手。我写了一些清除程序来清除所有旧数据并保留过去 3 个月的数据...程序已成功执行。当我手动调用时它也可以工作。程序如下: CREATE OR REPLACE PRO
以下是我的查询: Select Count(*) from Table1 s left join Table2 d
如何使用 put 函数。我的程序不是用 put 编译的。但 putline 工作正常。我想在同一行打印 最佳答案 下面是使用 UTL_FILE.PUT 和 UTL_FILE.PUT_LINE 调用的代
使用关联数组时可以使用SELECT FROM吗?我正在通过.NET应用程序将数组传递给存储过程,并且我希望能够从另一个表中进行选择时将该数组用作条件。可以说我要向该过程传递一个ID数组,我想能够做到这
您好,我有一个 oracle 函数已经存在于数据库中,我必须使用它。如果我如下调用该函数,它工作正常 select PKG_Util.employeedetails('12345') from dua
我在 PL/SQL 中有一个情况,我的过程每分钟都会被一个作业调用。代码如下 procedure ExecuteProc is CURSOR c1 IS SELECT * FROM t
我是一名优秀的程序员,十分优秀!