我有四个表:Messages、MessageCategory、MessageStatus 和 MessageLevel。
MessageCategory、MessageStatus 和 MessageLevel 都只有三个字段:Identity(主键)、Code 和 Description。Messages 指的是这三个字段,并且还有一些其他的数据字段,包括 Identity(主键)MessageText 和 Order。身份字段是自动递增的字段。
我现在需要编写一个 SQL 脚本来为所有四个表添加一些默认数据。问题是,我需要创建一个脚本,该脚本将发送给客户,然后客户将执行此脚本。我无法编写更智能的代码来完成整个更新。虽然三个表只是简单的插入语句,但 Messages 表让我有些头疼。
我不能删除任何索引,也不能假设它从 1 开始计算主键。
所以,作为一个例子,她的一些数据:
INSERT INTO MessageCategory (Code) Values ('Cat01');
INSERT INTO MessageStatus (Code) Values ('Status01');
INSERT INTO MessageLevel (Code) Values ('Level01');
消息需要这样的东西:
INSERT INTO Messages(Category, Status, Level, MessageText, Order)
VALUES(
(SELECT Identity from MessageCategory where Code='Cat01'),
(SELECT Identity from MessageStatus where Code='Status01'),
(SELECT Identity from MessageLevel where Code='Level01'),
'Just some message',
1
);
不过,那是行不通的。那么,让这个工作的诀窍是什么?(保持代码可读...)
不幸的是,我无权访问其他数据库。我可以对其进行测试,但一旦它似乎有效,这只是发送并祈祷它有效的问题......