woo*_*ddy 2 sql t-sql stored-procedures keyword sql-server-2008
我不确定sql server 2008中是否有任何内置函数可以判断它是否是保留关键字.
我想这样做的原因是因为我发现有时列名使用与保留关键字相同的名称,例如,名为'desc','user','state'等的列,然后我们必须用方括号([desc],[user],[state])包装它们,以便能够正确查询列.
如果确实存在这样的内置函数,那么我们可能会这样做
if isReservedKeyword (@name) = true
set @column = REPLACE(@column, @name, '[' + @name+ ']')
else
set @column = @name
Run Code Online (Sandbox Code Playgroud)
保留字记录在此处:http:
//msdn.microsoft.com/en-us/library/ms189822.aspx
该列表是详尽无遗的,但不会太长,以至于您不能将这些列表重新输入到您自己的数据库表中以进行检查.