社区
MS-SQL Server
帖子详情
create table 不能建表
sun8330
2011-07-25 01:59:44
declare @sql varchar(200)
select @sql='create table #tmpdb (god_code char(8) not null,god_desc varchar(50) not null)'
exec (@sql)
以上指令运行成功,但临时表#tempdb没有建出来,不知何故,请各位指点
...全文
160
15
打赏
收藏
create table 不能建表
declare @sql varchar(200) select @sql='create table #tmpdb (god_code char(8) not null,god_desc varchar(50) not null)' exec (@sql) 以上指令运行成功,但临时表#tempdb没有建出来,不知何故,请各位指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cd731107
2011-07-25
打赏
举报
回复
动态语句是一个独立的批处理过程,相当于最后执行了一个go命令,表示本次批处理结束了,
定义的局部变量什么的都无效了
cd731107
2011-07-25
打赏
举报
回复
[Quote=引用 13 楼 sun8330 的回复:]
你意思是用execute这个指令执行完了以后,程序会话就完成了吗?如果是这样,程序一建临时表完成后,假如要再插入资料的话,不是作不了?该如何处理?
[/Quote]
对的,所以提示你用##全局临时表或者真实表
sun8330
2011-07-25
打赏
举报
回复
你意思是用execute这个指令执行完了以后,程序会话就完成了吗?如果是这样,程序一建临时表完成后,假如要再插入资料的话,不是作不了?该如何处理?
xuam
2011-07-25
打赏
举报
回复
程序一:
当前会话完成,临时表注销
程序二:
当前会话没有完成
[Quote=引用 11 楼 sun8330 的回复:]
程序一:
declare @sql varchar(200)
select @sql='create table #tmpdb (god_code char(8) not null,god_desc varchar(50) not null)'
exec (@sql)
select * from #tmpdb
最后一行运行错误
程序二:
select * into #temp fro……
[/Quote]
sun8330
2011-07-25
打赏
举报
回复
程序一:
declare @sql varchar(200)
select @sql='create table #tmpdb (god_code char(8) not null,god_desc varchar(50) not null)'
exec (@sql)
select * from #tmpdb
最后一行运行错误
程序二:
select * into #temp from abc
select * from #temp
运行正常
这两个程序,为何程序一出错,程序二正常?
疯行无忌
2011-07-25
打赏
举报
回复
1楼对了
l4kangaxx
2011-07-25
打赏
举报
回复
将创建语句,处理语句和结果查询语句放在一个varchar变量里处理就好了,或者就像一楼说的那样用##全剧临时表
xuam
2011-07-25
打赏
举报
回复
[Quote=引用 6 楼 sun8330 的回复:]
可是为何在程序中,用select * into #temp from abc 类似这种语句中生成的临时表在程序运行完了后,只要查询窗口没有关,临时表就存在呢?
[/Quote]
这个结果不是你建的临时表了.
AcHerat
元老
2011-07-25
打赏
举报
回复
那是因为当前会话没有完成,临时表不会自动注销。
sun8330
2011-07-25
打赏
举报
回复
可是为何在程序中,用select * into #temp from abc 类似这种语句中生成的临时表在程序运行完了后,只要查询窗口没有关,临时表就存在呢?
AcHerat
元老
2011-07-25
打赏
举报
回复
试试全部临时表,或者你在外部创建。
AcHerat
元老
2011-07-25
打赏
举报
回复
动态创建?貌似不支持哈!
gdstfox
2011-07-25
打赏
举报
回复
这个是临时表的生命周期问题,1楼已经回答了
-晴天
2011-07-25
打赏
举报
回复
临时表是在一次会话中有效的,因此,当 exec 执行完毕后,临时表就会被释放.如果要在动态语句里创建临时表,要用全局临时表的形式,即用 ##temptb.
cd731107
2011-07-25
打赏
举报
回复
这个临时表是放在动态语句里执行的,执行完以后相当于一个批处理结果了,这个临时表就被删除了,
除非你用真实表,或##全局临时表
HIVE
CREATE
TABLE
(一)
前言工作中用到hive比较多,但是总是感觉自己对hive的了解不够全面,仅限于常用的功能,对于hive缺乏全面的了解,造成在有新的业务需求时总是用常用的方法来解决问题,本次利用闲暇时间对hive的官方文档进行学习总结。关注那些平时用到但是没有深入了解的东西,提升自己对hive的认知。本篇大概介绍hive
建表
语句,关于
建表
语句的详细解读,会在后边进行介绍。hive的几种
建表
语句。1.
CREATE
TA
oracle没有
create
or replace
table
转自:http://tunps.com/oracle-
create
-or-replace-
table
Oracle数据库和其他数据库(比如MySQL)在新建数据表的时候有以下区别: Sql代码 SQL>
create
or replace
table
testTb;
create
or replace
table
testTb ORA-00
android sqlite 创建空表,sqlite3在android中创
建表
错误(sqlite3
create
table
error in android)...
sqlite3在android中创
建表
错误(sqlite3
create
table
error in android)我试图在android中使用sqlite3创
建表
我的开放助手是这样的:public class TaskOpenHelper extends BaseOpenHelper {public static final String
TABLE
_NAME = "tasks";publi...
create
table
,
create
table
as 与
create
like三种
建表
方式的使用详解
Hive的hql是基于sql而来,而sql中关于表的创建有几种方式。同样,hive也支持这些表的创建方式。 官网文档关于
建表
的地址:hive常见
建表
方式官网文档 1.自主创业方式
create
table
使用
create
table
从无到有,按照
建表
的格式和要求实现
建表
。实际开发中较常用的方式,主要可以定制化
建表
。 具体参考博客:https://blo...
Hive
建表
语句详解--
CREATE
TABLE
Hive创
建表
的方式(默认路径/user/hive/warehouse,也可以location指定,主要针对external表)1、使用
create
命令创建一个新表,带分区可以使用describe formatted mytest_deptaddr 查看
建表
相关的各种配置属性以及默认属性。从下面可以看出,在创
建表
时有很多属性,比如存储地址,存储格式等属性我们都没有直接配置,而是选择了系统默认的。2、把一张表的某些字段抽取出来,创建成一张新表,使用as注意: 1.as只会复制属性以及属性值到新的表中。
MS-SQL Server
34,875
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章