我有一个应用程序,可以在大约一百万个不同的地方动态构建SQL语句。目前它适用于SQL Server,所有字符列都是varchar
。
我现在需要将应用程序转换为支持使用SQL Server的unicode。不幸的是,对于SQL Server,这意味着我必须将所有数据库列更改为nvarchar
,但这没关系。
真正的问题是我现在必须更改所有动态SQL创建,以便将'N'
添加到每个字符串文字中,以便select 'Hello'
变为select N'hello'
。这将需要很长时间,并且非常容易出错。
但是,虽然SQL字符串是在整个地方创建的,但它们只在几个地方的数据库上执行。所以我考虑创建一个带有SQL字符串的函数,并为所有字符串文字添加前缀N
。如果可行,它将节省大量的开发时间。
这是一种可行的方法吗?以前做过吗?