如果已存在则不输入记录,访问链接表到sql

时间:2013-07-12 21:37:12

标签: sql ms-access triggers linked-tables

我有一个具有访问前端和sql后端的应用程序。

以前是Access => Access,但已迁移。

问题出现在链接表中,其中输入用于仅显示用户友好(此记录已存在)消息的现有记录。

但现在出现非用户友好的sql消息。(违反PK等)

我打算使用而不是触发器来解决它(尚未尝试过)

还有其他办法吗?来自Access本身的pref。

1 个答案:

答案 0 :(得分:0)

您可以使用代码执行此操作,但您也可以使用SQL执行此操作。假设column1是主键,这是一个例子:

INSERT INTO MyTable ( column1, column2 )
SELECT column1,
  column2
FROM MyOtherTable AS a
WHERE NOT EXISTS ( SELECT 1
  FROM MyTable AS b
  WHERE b.column1 = a.column1 );

在这个例子中,我使用SELECT 1因为我只是检查是否返回了一行并且不关心实际返回的内容。如果插入零行,您的代码可以显示用户友好的错误消息。