首页 新闻 搜索 专区 学院

SQL Server 2008 中如此定义表变量中的表结构报错。?

0
[已关闭问题] 关闭于 2016-04-01 11:31

DECLARE @ta TABLE
SELECT TOP 0 * INTO @ta
FROM dbo.tSysInfo

 

error message :

消息 156,级别 15,状态 1,第 2 行
关键字 'SELECT' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'@ta' 附近有语法错误。

奇妙能力的主页 奇妙能力 | 菜鸟二级 | 园豆:253
提问于:2016-03-28 15:10
< >
分享
所有回答(3)
0

top 0  ?are you shure about that ? please have a look at your query in detail guys!

贫民窟大侠 | 园豆:4276 (老鸟四级) | 2016-03-28 15:51

  是的,   只要表结构 不要数据

支持(0) 反对(0) 奇妙能力 | 园豆:253 (菜鸟二级) | 2016-03-28 15:52

@奇妙能力: 你换成1条试试。看会不会出错。

支持(0) 反对(0) 贫民窟大侠 | 园豆:4276 (老鸟四级) | 2016-03-28 15:53

我这个查询有错?  我只要tSysInfo表的表结构 放到表变量中 , 

支持(0) 反对(0) 奇妙能力 | 园豆:253 (菜鸟二级) | 2016-03-28 15:55

@贫民窟大侠:  换成1  也是报同样的错,  但是我的需求不是这样的, 需求只要表结构, 不实体数据

支持(0) 反对(0) 奇妙能力 | 园豆:253 (菜鸟二级) | 2016-03-28 15:57

@奇妙能力: 嗯,感觉查询top 0 有问题。SELECT * INTO 新表名 FROM 原表名 WHERE 1<>1 。用这种方式试下。top 0你自己写个查询语句都跑不通。

支持(0) 反对(0) 贫民窟大侠 | 园豆:4276 (老鸟四级) | 2016-03-28 15:57

@贫民窟大侠: TOP 0 跑的同 没有问题,  而且 我不是普通表, 是表变量   是一个变量  是表类型的变量   

支持(0) 反对(0) 奇妙能力 | 园豆:253 (菜鸟二级) | 2016-03-28 15:59

@贫民窟大侠: 不知道你有没有明白, 我想表达 的,   就是我现在定义一个变量   该变量的类型为表。  现在定义该变量表的结构, 但是我想象快速定义临时表一样, 有什么方法吗。, 

支持(0) 反对(0) 奇妙能力 | 园豆:253 (菜鸟二级) | 2016-03-28 16:01

@奇妙能力: 哦,那等等大神来回复。同学习。

支持(0) 反对(0) 贫民窟大侠 | 园豆:4276 (老鸟四级) | 2016-03-28 16:01
0

DECLARE @temp TABLE//这里执行已经报错

DECLARE @temp TABLE(id int)//这样定义可以执行 所以还是要手动把另外那张表的创建sql复制过来

这是一个解决方法,等等看有没有大神知道更高大上的方法……

liuxb1991 | 园豆:661 (小虾三级) | 2016-03-28 16:06

我也知道标准表变量定义 就像你说的那样, 但是 有没有快速的方法呢,  比如像临时表那样。

支持(0) 反对(0) 奇妙能力 | 园豆:253 (菜鸟二级) | 2016-03-28 16:07
0

表变量没法像临时表一样直接INTO,必须显式声明

二洋 | 园豆:263 (菜鸟二级) | 2016-05-24 15:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册