매개변수 있는 프로시저
-- SP생성 쿼리
CREATE PROCEDURE testsp
(
@num int,
@name varchar(30)
)
AS
DECLARE @tempcnt int
SELECT @tempcnt = COUNT(*) FROM testtable WHERE num = @num
UPDATE temptable count =@tempcnt WHERE name =@name
GO
-- SP실행 쿼리
EXEC testsp 10, 'ABCD'
/* 위 저장 프로시저를 보면 외부에서 10과 'ABCD'를 입력받아 @num, @name에
각각 넣는다. 다음 외부변수 @tempcnt 를 생성해 값을 할당하게 되는데
이때 testtable 의 COUNT(*)값을 할당하게 된다. 여기서 WHERE 조건절에
@num의 값이 사용되었다.
@tempcnt 에는 COUNT(*)의 값이 저장되고, 이 값을 이용해 temptable 에 count 값을
이와같이 저장 프로시저 내부에는 필요한 값을 SELECT 쿼리 등을 이용하여 변수에 할당할 수 있고
할당받은 변수는 자유롭게 사용할 수 있다. */
mssql을 처음 시작해 블로그들을 보며 기초적인것부터 배워가고 있습니다;
http://infodbbase.tistory.com/28 참고한 블로그인데요,
오류가 이렇게 나는데, 어디가 문제인 걸까요....ㅠ update엔 set이 필요한 것도 알겠고, count개념도 알겠는데
위 명령문이 궁극적으로 어떤 문제인질 당최 알지 못하겠습니다...ㅠ
Comment 1
-
이리
2017.10.30 09:51
UPDATE temptable count =@tempcnt WHERE name =@name
-> UPDATE temptable SET count =@tempcnt WHERE name =@name