如何复制一张表格?(50分)

  • 主题发起人 主题发起人 wsd
  • 开始时间 开始时间
W

wsd

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一个sql server下的表格:employee1.我想把它复制成另外一张表格
employee2,即employee1=employee2,而且employee1是只读的,不可更修改
,现在想把employee2同时该为可更修改的.
请问这段SQL语句该如何编写?
 
select * into employee2 from employee1
"employee1是只读的",这是怎么回事?
 
fx:你好!你可能还不明白我的意思.employee1是已经存在的一张表,
有60多个字段,几百条纪录.而 employee2 是事先不存在的,需在程序中
动态产生,请问该如何做?
 
按fx所说产生employee2
可以通过权限设置,对某些用户employee1表为只读,employee2表可读写.
 
先要建立此表,可以用:
Create table 来实现,好象有类似的写发(没用过):
Create Table As Select ... 用另一个表的结构创建一个表。
 
为何这麽冷清?难道是分值太少吗?
 
1.with query1 do
begin
close;
sql.clear;
sql.add('create table employee2 as select * from employee1');
prepare;
execsql;
end;
2.使用delphi中的 batchmove构件,定义相关的属性,然后在程序中
batchmove1.execute;
 
xxy 及诸位:我用你们的方法作下面的程序的时候出现错误:
with query1 do
begin
close;
sql.clear;
sql.add('create table "employee2" as select * from "d:/employee.db"');
prepare;
execsql;
end;
错误提示为:invalid use of keyword token:as
line number:1.
这是为什麽?
 
难道FX的说法不对吗?
 
为什么不试试fx的SQL语句?马上就可以产生一份拷贝,除了表的结构,还包括表的
全部纪录.只不过要有创建表的权限.
 
诸位:
fx的方法我已试过,程序如下:
with query1 do
begin
close;sql.clear;
sql.add('select * into "demo1" from "d:/demo.db"');
open;
end;
但是出现编译错误:invilid use keyword:
token :into .
line number:1;
真是奇怪 !
 
请注意使用的是文件型数据库还是大型 数据库,一些文件型数据库不支持
select into .
 
多人接受答案了。
 
>现在有一个sql server下的表格:employee1
>sql.add('select * into "demo1" from "d:/demo.db"');
题目上是SQL Server,例题中是本地数据库.
 
后退
顶部