了解存储过程SQL-Server

时间:2018-02-20 10:17:02

标签: sql sql-server stored-procedures

我试图了解存储过程正在做什么,但我正在努力。

这是代码

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')

此过程从网站获取数据,并根据我的知识将其插入到数据库的表中。但我无法看到它从哪里来。它只是更新或插入现有的表。任何人都可以就这可能做的事情提出任何建议吗?

由于

1 个答案:

答案 0 :(得分:1)

假设@person@year@default是存储过程的输入,它正在检查Table1表中是否存在具有指定{{}的任何记录1}}和@person以及@year字段等于值Type1

如果记录存在,则表示正在使用指定的A值更新该表的Day字段。

如果记录不存在,则会插入具有指定@default@person@year以及@default Type1值的新记录1}}。