oracle如何拼接表名,oracle 表名拼接

在oracle中如何编写一个输入表名,然后匹配有关的列名,对应列名插入有指定的表

例如你指定写入的表为t_table_column表,过程传入参数为表用户,表名

创新互联是专业的溆浦网站建设公司,溆浦接单;提供网站建设、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行溆浦网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

create or replace procedure p_check_table(owner in varchar2,

table_name in varchar2) as

v_owner varchar2(100) := null;

v_table varchar2(200) := null;

v_table_num number(10) := null;

v_column clob := null;

begin

v_owner := upper(owner);

v_table := upper(table_name);

select count(1)

into v_table_num

from all_tables t

where t.OWNER = v_owner

and t.TABLE_NAME = v_table;

if v_table_num = 0 then

dbms_output.put_line(v_owner || '.' || v_table || ':表不存在');

return;

end if;

v_column := null;

for i in (select t.COLUMN_NAME, t.COLUMN_ID

from all_tab_columns t

where t.OWNER = v_owner

and t.TABLE_NAME = v_table

order by COLUMN_ID) loop

v_column := v_column || ',' || i.column_name;

end loop;

insert into t_table_column

(owner, table_name, column_name)

values

(v_owner, v_table, v_column);

commit;

exception

when others then

rollback;

dbms_output.put_line(v_owner || '.' || v_table || '异常' || sqlerrm);

end p_check_table;

/

oracle 在PLSQL脚本中如何表名称与数字字符串拼接?

使用plsql存储过程制造一个脚本如:

create or replace procedure test_val

(etl_date    varchar2, --时间或者数字变量

data  out sys_refcursor  ---存放数据

) as

s_sql varchar2(1000); --执行sql

begin

s_sql := 'SELECT A,B FROM tsalpludetail' || etl_date ;

--dbms_output.put_line(s_sql);----打印sql可以不需要

open data for s_sql;   ---把结果集放入data

end test_val;

执行后,打开存储过程

最后查看数据

至此完成

Oracle数据库怎么把两个表合并成为一个新的表?

1、临时表

WITH CTE AS (

SELECT T1.Sno,T1.Cno, T.Cname,T.Cpno,T.Ccredit,T.Grade

FROM Course T

INNER JOIN SC T1 ON T.Cno =T1.Cno

) SELECT * FROM

2、创建表

CREATE TABLE AA AS

SELECT T1.Sno,T1.Cno, T.Cname,T.Cpno,T.Ccredit,T.Grade

FROM Course T

INNER JOIN SC T1 ON T.Cno =T1.Cno

Oracle sql处理:查询字段内容为另一张表的“表名“,如何利用存储过程在从”表名“中取数据

create proc selectName

as

begin

declare @sql varchar(100)

declare @name varchar(20)

select @name = name from sysobjects where xtype='U' and id=373576369

print @name 

set @sql='select * from '+ @name  --拼接

exec (@sql)

end

exec selectName --执行 

仅供参考!

在ORACLE中,如何找到任意SQL字符串中的表,并将表进行指定规则的替换,比如在表名后加DBLINK

动态SQL 实质就是执行的SQL字符串,所以你完全可以用拼接的方式,先把 字符串 拼接出来,然后用execute immediate 'sql' 来执行;

至于如果拼接出来 SQL,那就需要你去找规律,其实你可以对字符串做对此拼接,例如一下:str1 :='SELECT QW,QE,QR FROM Q WHERE Q=1';

str2 :='SELECT QW,COUNT(1) FROM EW,' || str1 || 'WHERE EW=QW GROUP BY QW;'

这类问题 完全属于个别案例,因为SQL的规律只有你自己最清楚,谁都无法提供一个完整的解决方案!

oracle中如何将表名与字符串拼接查询

办法是有的,就是特别麻烦,需要又重循环,第一重,循环所有表,第二重,循环特定表中的字段,然后将所有满足条件的表名和字段名插入到一张新的表中,然后再自己分析结果,确认究竟是哪个表哪个字段, 仅提供思想而已,需要息写一个procedure 或者function实现。


文章名称:oracle如何拼接表名,oracle 表名拼接
文章转载:http://myzitong.com/article/dsedssh.html