Abh*_*ria 4 sql t-sql sql-server stored-procedures
我想创建一个存储过程,对列执行插入或更新操作,如果该列不包含数据库中已存在的值,它应允许在COUNT(字段)= 0时插入或在COUNT(字段)= 0时更新或1我应该知道是否执行了这些操作.请使用COUNT不存在来解决我的问题,因为这不适用于UPDATE.
我在ASP.net工作 - 我有一个表的两列,需要保持唯一,而不使用唯一约束.所以我想要一个这样的程序:
create proc usp_checkall @field1 varchar(20),
@field2 varchar(20),
@ID int,
@count int output
Run Code Online (Sandbox Code Playgroud)
现在您的查询是基于@id更新/插入@ field1&@ field2
如果您碰巧拥有SQL Server 2008,您还可以尝试:
MERGE dbo.SomeTable AS target
USING (SELECT @ID, @Field_1, @Field_2) AS source (ID, Field_1, Field_2)
ON (target.ID = source.ID)
WHEN MATCHED THEN
UPDATE SET Field_1 = source.Field_1, Field_2 = source.Field_2
WHEN NOT MATCHED THEN
INSERT (ID, Field_1, Field_2)
VALUES (source.ID, source.Field_1, source.Field_2)
Run Code Online (Sandbox Code Playgroud)