我一直在寻找一段时间,但仍然无法找到答案。 我试图使用一个非常简单的存储过程sp_executesql来创建数据库或表。
exec sp_executesql
N'create database @d',
N'@d nvarchar(1)',
@d = 'a';
或者
exec sp_executesql
N'create table @d',
N'@d nvarchar(9)',
@d=N'MyTable'
不断收到此消息:
Msg 102,Level 15,State 1,Line 1 '@d'附近的语法不正确。
我不明白为什么?
答案 0 :(得分:1)
在这种情况下,SQL Server不接受变量。请参阅此处了解选项: