用SQL语句实现复制一个表的结构(不复制内容)(10分)

  • 主题发起人 主题发起人 lixx
  • 开始时间 开始时间
Create table table_a as select * from table_b where 1 = 2
 
to毛虎林
Create table table_a as select * from table_b where 1 = 2 什么意思?
~~~~~
我的数据库是Access
 
就是你的条件呀。
 
select * into aaa form bbb where 1=2
 
我还真不明白了,像下面这样写为什么运行出错?
其中table1是已经有了内容的表,
我想得到table2,talbe2的结构要与table1结构一样,但内容是空的。
with query1 do
begin
close;
sql.clear;
sql.add('Create table table2 as select * from table1 where 1=2 ');
Execsql;
end;
 
用select into语句
SELECT INTO 语句创建一个新表,并用 SELECT 的结果集填充该表。新表的结构由选择列表中表达式的特性定义;
SELECT INTO 可将几个表或视图中的数据组合成一个表。也可用于创建一个包含选自链接服务器的数据的新表。
如:
select *
into newtable
from oldtable
where :条件
要产生一个空记录集,只要你把条件改改就可以了
 
我使用了
select * into pm_8_aa from pm_1_AA where false
就产生了一个结构完全相同、内容为空的表
非常感谢大家!
谢谢ChenXian的不吝指导
 
分数太少了!
希望大家见谅!
 
ChenXian注意:
使用Select * into 并不能复制表的其他属性,如索引,约束等。。。
希望谨慎使用
 
后退
顶部