[英]Insert into table values only if one field value does not exist already
我只想在不存在field_tag值的情況下插入表中。 我想先檢查一下再插入到表中。如果收據之前存在於同一field_tag值下。 如果不存在,那么只有我要插入。 我正在使用SQL Server 2008
INSERT INTO [INVENTORY].[TBL_RECEIPTS]
([TicketNbr]
,[RevisionNbr]
,[Location_ID]
,[ContractNumber]
,[Storage_ID]
,[VarietyID]
,[GrossWeight]
,[TareWeight]
,[Carrier]
,[Receipt_date]
,[Last_update]
,[Inv_weight]
,[SAPBatch]
,[MoistureFactor]
,[Load_Harvested]
,[FIELDID]
,[GROWER_LOAD_NBR]
,[HARVEST_NBR]
,[TRACE_WORMS]
,[COR_CERT]
,[GFF_DEST]
--- ,[GFF_CONTRACT]
,[CAB_ID]
,[sOURCE]
,[CREATED_BY]
,[TOTALBONUSES]
,[PIDNUMBER]
,[CARRIERVENDORID]
,[HAUL_ZONE]
,[FIELD_Tag]
,[Station]
,[COUNTY]
,[GradeDate]
,[Load_Received]
,[Load_Processed]
)
VALUES
(@CERT
,@RevisionNbr
,@Location_ID
,@ContractNUmber
,@Storage_ID
,@VarietyID
,@Gross_Weight
,@TareWeight
,@CarrierName
,@receipt_date
,Getdate()
,@Inv_weight
,@receiptbATCHnbr
,@DockageWeight
,@HARVEST_DT
,@FIELDID
,@GROWER_LOAD_NBR
,@HARVEST_NUMBER
,@TRACE_WORMS
,@COR_CERT
,@GFF_DEST
--- ,@CONTRACT
,@CAB_ID
,'I'
,'Scale Interface'
,0
,@ContractPIDNumber
,@CARRIERID
,@HAUL_ZONE
,@FIELD_TAG
,@STATION
,@COUNTY
,@GRADE_DT
,@Arrival_dt
,@current_Date
)
我確實這樣:
insert into yourtable
(field1, field2, etc)
select value1, value2, etc
where not exists
( SELECT * FROM [INVENTORY].[TBL_RECEIPTS] WHERE Field_Tag = @FIELD_TAG)
如何打印錯誤,我想對此進行錯誤處理。 如果有重復..它應該打印消息。
這樣的事情應該起作用。
insert into yourtable
(field1, field2, etc)
select value1, value2, etc
where not exists
(subquery to specify
condition under which you don't insert record)
編輯從這里開始
通知用戶是否存在記錄的另一種方法
declare @Records as int;
set @Records = select count(*) from tbl_receipts
where field_tag = @Field_Tag;
if @Records > 0
begin
select 'record exists'
end
else
begin
insert query
select 'record added'
end
它處於工作狀態,請對其進行測試。 如果不存在imei = 69212且沒有description ='dfhjsdfh' insert into events select 1,2,3 from ( select 1 from events where not exists ( select 1 from events where imei=69212 and description='dfhjsdfh' group by imei) group by imei) AS tt;
則將在數據庫中進行輸入,請從中insert into events select 1,2,3 from ( select 1 from events where not exists ( select 1 from events where imei=69212 and description='dfhjsdfh' group by imei) group by imei) AS tt;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.