SQL Server 2008 SELECT * FROM @variable? [英] SQL Server 2008 SELECT * FROM @variable?

查看:51
本文介绍了SQL Server 2008 SELECT * FROM @variable?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有可能吗?

DECLARE @vTableName varchar(50)

SET @vTableName = (SELECT TableName FROM qms_Types WHERE Id = 1)

SELECT * FROM @vTableName

我有这个错误:

Msg 1087, Level 16, State 1, Line 3 必须声明表变量@vTableName".

Msg 1087, Level 16, State 1, Line 3 Must declare the table variable "@vTableName".

推荐答案

简短回答:否

长答案:Nooooooooooooooooooooooooooooooooooooo.如有必要,请使用动态 SQL,但如果您以事先不知道表名称的方式构建表,重新考虑架构可能对您有益.

Long answer: Noooooooooooooooooooooooooooooooooooooo. Use dynamic SQL if you have to, but if you're structuring your tables in a way where you don't know the table name ahead of time, it might benefit you to rethink your schema.

这里是学习如何使用动态 SQL 的绝佳资源:动态 SQL 的诅咒和祝福

Here is a great resource for learning how to use dynamic SQL: The Curse and Blessings of Dynamic SQL

这篇关于SQL Server 2008 SELECT * FROM @variable?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆