我想可以这样, 使用动态SQL,把表名当参数传递,传递后从数据字典中查找该表的所有字段名.然后再把字段名当参数传递, 来查询该表中字段的所有值. select * from all_tab_columns t where t.table_name='表名大写'
select A.f1 || A.f2 || .... || A.fn as b from A
dinya2003(OK)的比较合理! 顶
不知道有没比dinya2003(OK)更好的方法,因为我在一个触发器中使用这个,如果用dinya2003(OK)的方法就要建游标,比较麻烦,而且每天处理的数据量大概在10万条左右,所以想找个效率稍微好点的语句, 如果可以用select concat(A.*) as b from table1 A where A.id=1就爽了,可惜不行! 恳请强人继续关注!
select concat(city,country) from person 或 select city||country from person
fuxia(双子星)select A.f1 || A.f2 || .... || A.fn as b from A 的意见是可以参考 ,我们都是这么做的。 --------------------------------------------------------- 你可以用动态的sql语句 比如: 先定义一个字符串pc_par 把select出来的各个变量 拷贝连接进去(strcat); 定义一个表名变量 pc_name; 然后连接 pc_sql = "select '+pc_par +'" from '+pc_name+' where .....; 追后执行。
select * from all_tab_columns t where t.table_name='表名大写'
顶
如果可以用select concat(A.*) as b from table1 A where A.id=1就爽了,可惜不行!
恳请强人继续关注!
或
select city||country from person
---------------------------------------------------------
你可以用动态的sql语句
比如:
先定义一个字符串pc_par 把select出来的各个变量 拷贝连接进去(strcat);
定义一个表名变量 pc_name;
然后连接 pc_sql = "select '+pc_par +'" from '+pc_name+' where .....;
追后执行。