0

这些是我的表:

 Equipment
-------------
 ID INT (PKey)
 Name CHAR(10)
 Type CHAR(10)
 LocationID INT (FKey)
 Description TEXT

 Location
-------------
 LocationID INT (PKey)
 Name CHAR(10)
 Code INT

用户Location.Code在输入 new 时会得到一个可供选择的列表Equipment。(这是用户识别 的方式Equipment.LocationID。)

但是,如果我输入数据,Location.Code因为Equipment.LocationID它会破坏系统。有更好的方法吗?例如,我可以想出一种方法来选择Location.LocationID并使用 代替Equipment.LocationID吗?

注意我无法更改用户选择的内容,必须保持不变。

例如(伪代码):

string userInput = "110"; // Location.Code
SELECT LocationID FROM Location WHERE Code = @userInput;

userInput = LocationID; // LocationID = 1;
INSERT INTO Equipment(LocationID) VALUES (@userInput);

这是最好的方法还是有更有效的方法?

4

1 回答 1

1

将两个查询合并为一个,如下所示

INSERT INTO Equipment(LocationID) SELECT LocationID FROM Location WHERE Code = '110';
于 2014-03-26T04:37:23.127 回答