Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在数据库模式中显示多个表_Sql_Stored Procedures_Plsql - Fatal编程技术网

Sql 在数据库模式中显示多个表

Sql 在数据库模式中显示多个表,sql,stored-procedures,plsql,Sql,Stored Procedures,Plsql,我有一个模式,它由n个表组成。现在的问题是独立地显示这些多个表,就像 表1 Col1 col2 col3。上校 表2 第1列第2列第3列…第n列 . . 表N Col1 col2 col3。。。。。上校 我必须使用pl/sql实现这一点,这就是我正在尝试的代码 DECLARE name varchar2(50); s_query varchar2(500); cursor c_demo is select table_name from user_tables; BEGIN open c

我有一个模式,它由n个表组成。现在的问题是独立地显示这些多个表,就像

表1

Col1 col2 col3。上校

表2

第1列第2列第3列…第n列 . .

表N

Col1 col2 col3。。。。。上校

我必须使用pl/sql实现这一点,这就是我正在尝试的代码

DECLARE
name varchar2(50);
s_query varchar2(500);
cursor c_demo is select table_name from    user_tables;
BEGIN
open c_demo;
loop
fetch c_demo into name;
EXIT WHEN c_demo%notfound;
select * into s_query from @name; 
dbms_output.put_line(s_query);
end loop;
close c_demo;
end;

假设您使用的是MS SQL。如果知道表名,请尝试使用
UNION
/
UNION ALL
。如果表定义不匹配,请在
SELECT
查询中使用别名,如下所示

SELECT T1COL1 AS COL1,T1COL2 AS COL2,T1COL3 AS COL3 FROM TABLE1 
UNION ALL
SELECT T2COL1 AS COL1,T2COL2 AS COL2,T2COL3 AS COL3 FROM TABLE2
....
SELECT TNCOL1 AS COL1,TNCOL2 AS COL2,TNCOL3 AS COL3 FROM TABLEN

你的问题没有道理。你能澄清一下吗?你在找SQL转储吗?还是要使用某种表格格式显示表的内容?或者…你为什么要这么做?打印出所有可能的值比您想象的要困难得多。如何处理XMLType、带时区的时间戳、blob等?“打印整个数据库”不是一个合理的要求,我们需要更多关于您到底需要完成什么的详细信息。我有5个不同的表,具有不同的列,我想使用dynamic SQL通过单个查询选择这5个表给定问题,好主意,但您需要在每个查询中静态设置表名的列。因此
选择“Table1”作为Table1中的TableName、col1、col2、col3
,列需要具有相同的数据类型和数量才能工作,但考虑到问题和示例,这似乎是合理的。但是,您只需在联合体中为第一个select设置别名。所有其他的都是第一个选择。它不是并集。。。。我希望将数据显示为表1。Col1 col2然后表2 Col1 col2像那样。。。。它看起来应该和我们为n个表编写n个select查询完全一样。好吧,这是我从你的问题中所能理解的最好的了。您能把问题弄清楚吗?我们不能使用union实现,因为这些表的列数不同,数据类型也不同