저장 프로 시저를 사용하고 있습니다.MySQl 저장 프로 시저 전달 매개 변수 이름 및 값을 가진 매개 변수
create procedure uspCommonMasterInsertUpdateSingleItem
(
p_id int,
p_name varchar(50),
p_head int,
p_desc varchar(500),
p_ct_nm varchar(50)
)
begin
declare p_returnvalue int;
declare p_ct_cd int ;
set p_ct_cd = (select ct_cd from com_typ where ct_nm = p_ct_nm);
if (p_id is null) then
insert into com_mst(
ct_cd,
cm_nm,
cm_hed,
cm_dsg
)
values
(
p_ct_cd,
p_name,
p_head,
p_desc
) ;
select p_returnvalue = LAST_INSERT_ID();
else
update com_mst set
ct_cd=p_ct_cd,
cm_nm=p_name,
cm_hed =p_head,
cm_dsg = p_dsg
where cm_cd = p_id ;
select p_returnvalue = p_id;
end if ;
end
나는이
call uspCommonMasterInsertUpdateSingleItem (p_name := 'kk',p_head := '1',p_desc := 'des',p_ct_nm := 'Department')
을 실행하고 때 오류
ERROR 1064 (42000)를 표시한다 : 당신은 당신의 SQL 구문에 오류가 있습니다;를 '='1 ', p_desc : ='des ', p_ct_nm : ='Department ')' '근처에서': = 'k = 012'를 사용할 수 있도록 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 라인 1
실행하는 동안 매개 변수를 지정하는 대신 매개 변수 만 전달하십시오. – Pravellika
ID 매개 변수가 과거가 아님, 전화가 p_name – StanislavL