表:
emergency_tab (
user_id
,emergency_no
(
和
约束 (
user_id
[primary key
](
收到id
和no
时,我需要将这些值insert
到emergency_tab
中的user_id
和emergency_no
列。如果存在具有相同user_id
的列,我只想更新emergency_no
,无需insert
新行。
我正在使用内置的Visual Studio 2010
和MS SQL Server 2008
vs10
我相信这被称为"upsert",您可以使用 MERGE 关键字,例如:
MERGE [devLaserViso].[dbo].[Machine] t WITH (HOLDLOCK)
USING [devLaserViso].[dbo].[TempMachine] s
ON (s.MachineName = t.MachineName)
WHEN MATCHED THEN
UPDATE SET t.MachineName = s.MachineName,
t.ProgramName =s.ProgramName
WHEN NOT MATCHED BY TARGET THEN
INSERT (MachineName,ProgramName) VALUES (s.MachineName, s.ProgramName);
从 https://stackoverflow.com/a/50232866
它正在工作
IF (SELECT COUNT(*) FROM emergency_tab WHERE user_id='?')<>0
BEGIN
--UPDATE
END
ELSE
BEGIN
--INSERT
END