SQL Server2005以前 / Oracle 9iより前
* UPDATEしてみて、実行件数が0件なら、INSERTする
* @@ROWCOUNT を利用する
サンプル
DECLARE @name nvarchar(50)
SET @name = 'Tom'
DECLARE @address nvarchar(50)
SET @address = '1-23 London'
DECLARE @email varchar(50)
SET @email = 'tom@gmail.com'
DECLARE @age int
SET @age = 50
UPDATE [Person]
SET [Address] = @address
,[Email] = @email
,[Age] = @age
WHERE [Name] = @name
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO [Person]
([Name]
,[Address]
,[Email]
,[Age])
VALUES
(@name
,@address
,@email
,@age)
END
参考文献
http://www.ilovex.co.jp/blog/system/cat820/sqlserversql.html