请教有关sybase临时表的问题

allanic 2002-08-23 03:13:29
文档里说创建的临时表有两种,一种是tempdb..tablename,另一种是#tablename,为什么我创建后一种临时表时错?
create table #mytemp (id decimal(20) not null)
-- "&附近存在语法错误"
...全文
464 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizard99 2002-10-30
  • 打赏
  • 举报
回复
select * into #<temp_tablename> from <tablename>
如果上面语句执行错误,也将创建临时表,此时Session断开临时表并不会自动删除。请问哪位高手知道这是怎么回事?
wizard99 2002-10-30
  • 打赏
  • 举报
回复
select * into #<temp_tablename> from <tablename>
如果上面语句执行错误,也将创建临时表,此时Session断开临时表并不会自动删除。请问哪位高手知道这是怎么回事?
hanps 2002-08-26
  • 打赏
  • 举报
回复
应是#,不是;
allanic 2002-08-26
  • 打赏
  • 举报
回复
我明白了,我看的那个sybase文档把'#'显示为'#',估计是html转义的问题。
谢谢大家
firefoxh 2002-08-25
  • 打赏
  • 举报
回复
在Sybase里面,创建Session级的临时表应该是用#字符的。
一般的话,写在存储过程里面,从一个Select中生成
select * into #<temp_tablename> from <tablename>
tramplai 2002-08-24
  • 打赏
  • 举报
回复
我认为可以通过用create table #table_name来创建临时表。
laser 2002-08-24
  • 打赏
  • 举报
回复
studyfor 讲得对,我确实没见过"&"的用法
studyfor 2002-08-23
  • 打赏
  • 举报
回复
tempdb..tablename 创建后将一直保留在tempdb中 ,直到你重起server或者用drop table 命令删除。

另一中临时表,你的语法在sybase中不对,应该是

create table #tablename (表名前加“#”)

这种临时表仅在一个session中存在,如果这个session退出,则临时表自动会删除。同时该表创建后系统会自动加上一个后缀,以保证不同底session产生的临时表不重名。这种临时表你可以做一个测试,如:在一个存储过程中建立一个这种临时表,同时执行多次和这并行执行都可以。但第一种就不行。
brook_huang 2002-08-23
  • 打赏
  • 举报
回复
说清楚点,&num是不是指的是一个库的id号,其后的分号是正确的吗?

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧