select * into t1Bak from t1在Delphi如何执行(20分)

  • 主题发起人 主题发起人 xie0930
  • 开始时间 开始时间
X

xie0930

Unregistered / Unconfirmed
GUEST, unregistred user!
请帮忙测试<br>select * into t1Bak from t1在Delphi如何执行,为什么总出错
 
把sql改成: insert into tlbak select * from t1
 
不行, select * into t1Bak from t1将自动产生t1Bak,<br>表已经存在 insert into tlbak select * from t1<br>我就要求能自动产生t1Bak表或其它临时表
 
sqlserver 可以运行 select * into t1Bak from t1<br>在delphi中query如何实现
 
select * into t1Bak from t1在Delphi如何执行,为什么总出错 &nbsp;<br>==&gt; 这种用法中t1Bak必须是一不存在的表名,如果反复执行而你又在第一次执行后没有删除该表,那么后续再次执行必然报错。因为该表已经存在了,你不能再生成同一表名的表了。
 
select * into tempdb.#t1Bak from t1
 
最好指定相应的字段,如果两个表字段一样,还要考虑自增字段
 
你这样写的话要adoquery1.ExecSQL,不用用open,<br>adoquery1.close;<br>adoquery1.sql.clear;<br>adoquery1.sql.text:='select * into #t1Bak from t1'<br>adoquery1.execsql;<br>如果要查询结果就加上以下两句,不能close,关闭后临时表就不存在啦,<br>adoquery1.sql.text:='select * from #t1Bak';<br>adoquery1.open;
 
呵呵。刚好前几天搞过。因为我要select 自增字段所以必须into。最后我还是放弃了临时表,自己建了个表。你的问题是第一次可以,但是以后都报错。就是表以存在了。可以这样<br>拿个adoquery 里面写上 drop table t1Bak 然后action属性变为true让他执行便。在<br>把里面的语句改为 <br>select * into t1Bak from t1<br>select * from t1bak<br>drop table t1bak<br>这样就可以了。结果集也取到了。表也删除了每次
 
你这样写的话要adoquery1.ExecSQL,不用用open,<br>adoquery1.close;<br>adoquery1.sql.clear;<br>adoquery1.sql.text:='select * into #t1Bak from t1'<br>adoquery1.execsql;<br>如果要查询结果就加上以下两句,不能close,关闭后临时表就不存在啦,<br>adoquery1.sql.text:='select * from #t1Bak';<br>adoquery1.open;<br>1&gt;不考虑重复表名<br>2&gt;我关心的是这种格式是否能执行?<br>adoquery1.sql.text:='select * into #t1Bak from t1'<br>adoquery1.execsql;<br>&nbsp; &gt;&gt;delphi中这种写法对的吗?是否有测试过该种类型
 
用execsql,同时将表换成临时表#t1Bak
 
谢谢朋友的支持,<br>&nbsp; &nbsp;To deardai<br>&nbsp; &nbsp;To Shadowpj 积分.
 

Similar threads

后退
顶部