Rom*_*esh 1 sql sql-server dynamic-tables sql-server-2008
我想用动态SQL创建一个表.
如果我使用创建表
CREATE Table TodayTemp(id varchar(20))
DROP TABLE TodayTemp
Run Code Online (Sandbox Code Playgroud)
那就没问题了.它工作正常.但是使用它的问题是我无法动态创建列.因此,我尝试在变量中使用存储创建脚本,然后最终使用EXEC命令执行它们.
喜欢
Declare @CreateTableCmd varchar(max)
SET @CreateTableCmd = 'CREATE Table TodayTemp(id varchar(20))'
Exec @CreateTableCmd
Run Code Online (Sandbox Code Playgroud)
但这会导致错误
消息2812,级别16,状态62,行6
无法找到存储过程'CREATE Table TodayTemp(id varchar(20))'.
执行时在变量周围添加括号
Declare @CreateTableCmd varchar(max)
SET @CreateTableCmd = 'CREATE Table TodayTemp (id varchar(20))'
Exec (@CreateTableCmd)
^---------------^--------here
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |