Reputation: 45
I have a MS SQL query like this:
IF EXISTS(SELECT * FROM TableDescription WHERE "viewname"='abc')
UPDATE TableDescription
SET "viewname"='abc' , "description"='description xyz'
WHERE "viewname"='abc'
ELSE
INSERT INTO TableDescription ("viewname","description") VALUES('abc','description xyz')
And I would like to translate the above MS SQL query to a coresponding query that works on SnowFlake but not sure how I can do it :( Could someone please give me a hint? Thanks so much Hanh
Upvotes: 2
Views: 311
Reputation: 175556
MERGE could be used:
MERGE TableDescription t
USING (SELECT 'abc' AS "viewname", 'description xyz' AS "description")s
ON t."viewname" = s."viewname"
WHEN MATCHED THEN
UPDATE SET t."viewname" = s."viename",
t."description"= s."description
WHEN NOT MATCHED THEN
INSERT("viewname", "description")
VALUES (s."viewname", s."description");
Upvotes: 1