Delphi中删除临时表的问题分析
我现在的程序需要用一个全局临时表##temp暂存查询结果(因为试过了,局部的#temp不可用),即语句:select*into##tempfrom......第一次查询很...
我现在的程序需要用一个全局临时表 ##temp 暂存查询结果(因为试过了,局部的#temp不可用),即语句:select * into ##temp from......
第一次查询很快就会查出结果,而第二次就会提示“数据库名称##temp已存在”,所以我需要在每次点击查询按钮后将已存在的##temp删除,现在问题来了, 我预先删除##temp的话(使用if exists ...tempdb..##temp....drop table ##temp 两种判断临时表存在的方法),就会提示“##temp表无效”
所以现在程序处在进退两难中 展开
第一次查询很快就会查出结果,而第二次就会提示“数据库名称##temp已存在”,所以我需要在每次点击查询按钮后将已存在的##temp删除,现在问题来了, 我预先删除##temp的话(使用if exists ...tempdb..##temp....drop table ##temp 两种判断临时表存在的方法),就会提示“##temp表无效”
所以现在程序处在进退两难中 展开
展开全部
你可以 判断是否存在,不存在则创建
if not exists ...tempdb..##temp....
create table ##temp
if not exists ...tempdb..##temp....
create table ##temp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以先删除
Drop ##temp
再查询
select * into ##temp from
虽然会报那个错,但其实没关系,你可以把错误屏蔽了
Drop ##temp
再查询
select * into ##temp from
虽然会报那个错,但其实没关系,你可以把错误屏蔽了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
## 开头的临时表 只有当重启数据库时才会删掉
# 开头的临时表 是当你执行完存储过程后自动删掉
还有想问一下 一是调用的存储过程么????
# 开头的临时表 是当你执行完存储过程后自动删掉
还有想问一下 一是调用的存储过程么????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用全局临时表是很不明智的做法,别人在用的时候会有冲突。完全可以用临时表,业务逻辑都放在存储过程里就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询