我想在数据库中添加一些查找列表,但我希望它们易于本地化(sql 2005,ADO.NET)
这将包括:
>轻松管理多种语言
>轻松检索数据库中的值
>后备语言(如果缺少所选语言)
我正在考虑使用一个表来存储多语言查找列表(使用不同语言使用相同的id)并使用一个函数来返回查找列表的值 – 通过接收ID和语言.
其中一个缺陷是我必须为使用查找列表的每个查询手动添加语言参数.
我正在研究一种解决方案,它允许我将参数作为“会话/全局变量”发送,或者通过SQL查询自动发送参数,以及自行检索它的函数(要么自动附加参数),要么能够读取参数).
解决方案可能看起来像这样,但我不介意它是否不同,只要它没有明确地将参数提供给Query(伪代码):
06000
澄清:
SELECT ..,GetLookupList1(lookup_ID,language),.. FROM TABLE
GetLookupList1是用户定义的函数,用于检索查找表的查找值.通过使用此函数,sql代码更易于阅读和维护.
该函数的主体将是这样的:
SELECT @result = LookupValue FROM LookupTable1 WHERE ID=@Lookup_ID and Language=@lang RETURN @result
>我想要的是能够将语言参数从函数中删除到某种静态变量,仅适用于当前的连接/语句/命令,因此查询看起来像
SELECT ..,GetLookupList1(lookup_ID),.. FROM TABLE