我试图理解存储过程在做什么,但我正在努力。
以下是代码
DECLARE
@person int,
@year int,
@default float = 0
IF EXISTS (SELECT 1 FROM Table1 WHERE PERSONID = @person AND YEAR1 = @year
AND TYPE1 = 'A')
BEGIN
UPDATE Table1 SET DAY1 = @default
WHERE PERSONID = @person AND YEAR1 = @year AND TYPE1 = 'A'
END
ELSE
BEGIN
INSERT INTO Table1 (PERSONID, YEAR1, DAY1, TYPE1)
VALUES (@person, @year, @default, 'A')此过程从网站获取数据,并根据我的知识将其插入到数据库的表中。但我看不出它是从哪里来的。它只是更新或插入现有的表。有没有人能就这可能做的事情给出任何建议?
谢谢
发布于 2018-02-20 18:20:36
假设@person、@year和@default是存储过程的输入,它将检查Table1表中是否存在具有指定的@person和@year且Type1字段等于值A的任何记录
如果记录存在,它将用指定的@default值更新该表的Day字段。
如果记录不存在,它将插入具有指定的@person、@year和@default以及Type1值A的新记录。
https://stackoverflow.com/questions/48882840
复制相似问题