在delphi中如何建临时表,用sql语言写

我在delphi中用add()语言和sql语言写了临时表的创建,但是在sql查询分析器中却查不到建的临时表。但是在delphi中却反馈说临时表已存在?但是又不用?这是怎么... 我在delphi中用add()语言和sql语言写了临时表的创建,但是在sql查询分析器中却查不到建的临时表。但是在delphi中却反馈说临时表已存在?但是又不用?这是怎么回事啊。求助高手中。。。 展开
 我来答
xingzai_1981
2011-11-08
知道答主
回答量:2
采纳率:0%
帮助的人:3229
展开全部
呵呵,临时表分为2种,一种是#开头,代表在自己的连接中唯一可用,属于局部临时表, 当连接关闭时自动删除。一种是##开头,代表全局连接,其他的连接程序也可以看到,当连接关闭时自动删除。你的情况是一定要确定创建的是全局临时表,另外,你的创建临时表的连接不能关闭。按你的说法可能是你在调用存储过程的时候连接已经关闭了,这时候临时表就不存在了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ivmtxnky
2011-11-04
知道答主
回答量:29
采纳率:0%
帮助的人:12.9万
展开全部
1:
select * into #newTable from
(select * from table1 cross join table2) a

2:
select * into #newTable from table1 cross join table2

补充一个很早之前帮人家写的交叉表的例子
/*create table 学生成绩表
(学号 varchar(10) not null, 姓名 varchar(10) not null,
课程 varchar(20) not null, 成绩 float,标识 varchar(10))*/
/*
insert into 学生成绩表 values('1','李四','语文',85,')
insert into 学生成绩表 values('2','王三','数学',0,'缺')
insert into 学生成绩表 values('1','李四','数学',60,'补')
insert into 学生成绩表 values('3','张三','语文',55,')
insert into 学生成绩表 values('2','王三','语文',35,'作')
insert into 学生成绩表 values('3','张三','数学',89,')
*/
--select * from 学生成绩表
/*
declare @sql varchar(8000)
set @sql='select 学号,姓名,'
select @sql=@sql 'cast(sum(case 课程 when '' 课程 '' then 成绩 else 0 end) as varchar(10))
IsNull((select 标识 from 学生成绩表 where 学号=b.学号 and 课程='' 课程 ''),'') as '
课程 ' ,' from (select Distinct 课程 from 学生成绩表) as a
select @sql=left(@sql,len(@sql)-1) ' from 学生成绩表 as b group by 学号,姓名'
exec(@sql)
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
It_Bukn
2011-11-08
知道答主
回答量:11
采纳率:0%
帮助的人:4.2万
展开全部
在创建前加上这一句:
SQL.Add('if object_id(''tempdb..'+临时表名+''') is not null drop table '+临时表名);
在系统中查找是否存在此表,如果存在,则删除!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxdtgsh
2011-11-05 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:805万
展开全部
做成全局临时表,##临时表名。#临时表对当前的用户连接是可见的,其他用户是不可见的。
追问
在delphi中创建了全局临时表,但是好像在存储过程中不能用啊。我查询了多条记录存在临时表中,但是却没办法提交。请问是我的存储过程有问题吗?但是当我建的是本地表做为临时吧存储表却可以用,能告诉我是什么问题吗?谢谢。
追答
你的Delphi的连接关闭了,临时表就删了,你想用全局临时表,要保证创建临时表的连接时一直存在的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户16328
2011-11-04
知道答主
回答量:11
采纳率:0%
帮助的人:4.1万
展开全部
临时表是看不到的,但是能查到select.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式