我试图了解存储过程正在做什么,但我正在努力。
这是代码
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')
此过程从网站获取数据,并根据我的知识将其插入到数据库的表中。但我无法看到它从哪里来。它只是更新或插入现有的表。任何人都可以就这可能做的事情提出任何建议吗?
由于
答案 0 :(得分:1)
假设@person
,@year
和@default
是存储过程的输入,它正在检查Table1
表中是否存在具有指定{{}的任何记录1}}和@person
以及@year
字段等于值Type1
如果记录存在,则表示正在使用指定的A
值更新该表的Day
字段。
如果记录不存在,则会插入具有指定@default
,@person
和@year
以及@default
Type1
值的新记录1}}。