我正在使用旧数据库。我无法改变架构:(在几个表中,主键使用多列)SQL Server从表中选择主键包含多列的主键
在应用程序中,我将每行中的数据读入表中,然后用户更新数据并写入数据回表。
目前我并置的各种PK列,并将它们存储作为当我把数据回表的唯一ID。
现在我在想,如果有一个更有效的方法从mySQL的背景来看,我不知道任何,但认为SQL Server 2005可能有一个功能
SELECT PRIMARYKEY() as pk, ... FROM table WHERE ...
以上将选择数据库引擎用作给定记录的主键的密钥
我搜索并找不到任何东西。它可能只是我很挑剔,但我不喜欢连接技巧。
DC
我连接读取的键,因为它更容易(在sql语句中,即:选择col1 + col2作为来自blah的uid),然后将结果字符串作为唯一标识存储在Web表单中。当更新表时,我将唯一标识符与where语句中的列连接进行比较,即:update blah where col1 + col2 = uid。这样,连接全部在sql中完成,并且稍后有人更改排序并将其中断的可能性较小。至少那是理论。它丑陋的原因是在主键上有5个整数和一个varchar。 – DeveloperChris 2009-11-10 21:53:10