无法在sql server中用select * from #temp(100分)

  • 主题发起人 主题发起人 dwj_dd
  • 开始时间 开始时间
D

dwj_dd

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在做一数据库程序时,用到了sql server临时表(表名以#开头),但在query中执行select
* from #temp 时,delphi报告表不存在。但用它执行insert 和update等操作均正常。不知
是何原因。
问题二:在不打开表的情况下,如何用最快的方法得知一个sql server database
表的记录数,或者判断该表为空?
问题三:如何动态改变一个表的表名?(sql 7.0中)
问题四:delphi 6.0中的ADO控件,是否支持事务处理,提交和RollBack,如果支持,该怎样
具体实现?
由于本人正在给一家银行开发软件,碰到上述问题,希望大家踊跃参加讨论,本人将
不胜感谢!!!!!
 
问题一
请具体说明在什么地方使用select、insert、update语句的

问题二
select count(*) as reccount from tablename

问题三
sp_rename 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

语法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]

重命名表
下例将表 customers 重命名为 custs。

EXEC sp_rename 'customers', 'custs'

问题四
支持,具体实现参考
Delphi 5.X ADO_MTS_COM+高级程序设计篇
http://202.96.70.229/cakk/delphi/
或在论坛中找找已答贴子
 
同意楼上,来晚了
 
#临时表在数据库链接(如adoconnection)建立,
在数据库链接与链接间不共享,并在链接断开
时自动删除,所以,因该检查:
该表是否在同一链接的同一事务期间建立的(建立
临时表与查询临时表之间,链接没有中断过)
 
学习,顺便帮你提
 
QuickSilver说的很有道理!
顺便带一下,临时表只能在一个事务中处理,不过你可以建立全局的临时表##TABLENAME
试试看!
 
动态改变表名?对临时表操作?
我是觉得这样的设计不合理。
 
在文本中取出数据后放入临时表中分别向两个表中追加,第一个表和第二个表完成的操作
基本一样,只是取的字段不一样。在向第二个表操作时出现错误:(insert
插入新纪录可以,update时将原来字段内容赋空,新增字段正确)。sql语句如下:
update khzl set dw_tel=(select dw_tel from #temp where #temp.cardnum=
khzl.cardnum)
 
后退
顶部