I am using the following SQL insert statement to insert values into a table MY_DATA
, but here I want to add a check if the row already exists, based on data in column CREATED_AT
.
INSERT INTO MY_DATA (SITE_ID, USER_NAME, USER_NO, CREATED_AT)
VALUES (:siteId, :userName, :userNo, :createdAt)
Here if I try to insert the row with same value present in CREATED_AT
column in the table it should not get inserted.
Using Oracle SQL developer for Database.
Please help I am new here.
3条答案
按热度按时间edqdpe6u1#
使用
MERGE
陈述式:您可以建立索引,以防止使用相同的
CREATED_AT
值进行多次插入:如果有,则可以在PL/SQL语句中使用查询并捕获异常错误(然后忽略它、报告它或对它执行任何需要的操作):
l5tcr1uw2#
我认为您只需要在表的CREATE_AT列上创建一个UNIQUE INDEX-
在此之后,您不需要在查询中做任何事情。该索引将确保不会向表中的created_at列插入重复值。
i7uaboj43#
一个选项是使用合并,例如