DECLARE @ta TABLE
SELECT TOP 0 * INTO @ta
FROM dbo.tSysInfo
error message :
消息 156,级别 15,状态 1,第 2 行
关键字 'SELECT' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'@ta' 附近有语法错误。
top 0 ?are you shure about that ? please have a look at your query in detail guys!
是的, 只要表结构 不要数据
@奇妙能力: 你换成1条试试。看会不会出错。
我这个查询有错? 我只要tSysInfo表的表结构 放到表变量中 ,
@贫民窟大侠: 换成1 也是报同样的错, 但是我的需求不是这样的, 需求只要表结构, 不实体数据
@奇妙能力: 嗯,感觉查询top 0 有问题。SELECT * INTO 新表名 FROM 原表名 WHERE 1<>1 。用这种方式试下。top 0你自己写个查询语句都跑不通。
@贫民窟大侠: TOP 0 跑的同 没有问题, 而且 我不是普通表, 是表变量 是一个变量 是表类型的变量
@贫民窟大侠: 不知道你有没有明白, 我想表达 的, 就是我现在定义一个变量 该变量的类型为表。 现在定义该变量表的结构, 但是我想象快速定义临时表一样, 有什么方法吗。,
@奇妙能力: 哦,那等等大神来回复。同学习。
DECLARE @temp TABLE//这里执行已经报错
DECLARE @temp TABLE(id int)//这样定义可以执行 所以还是要手动把另外那张表的创建sql复制过来
这是一个解决方法,等等看有没有大神知道更高大上的方法……
我也知道标准表变量定义 就像你说的那样, 但是 有没有快速的方法呢, 比如像临时表那样。
表变量没法像临时表一样直接INTO,必须显式声明