2016-07-15 9 views
0

私は私が手続きにエラー不正な構文

exec prcrms_crms_cust_id_verify_ins(3344,0,"VERIFIED",'{test:test}','1998-09-09 12:12:12.000','Admin') 

を実行しようとすると、それは '3344' の近くに不適切な構文を示しSybaseの

create procedure prcrms_crms_cust_id_verify_ins(@customer_code numeric(12,0),@id_type tinyint,@verification_status varchar(12),@verification_response varchar(255),@verification_date datetime,@add_user varchar(21)) as 
begin 
declare @check_id_exists int 
    select @check_id_exists = count(*) from crms_customer_id_verification where (('customer_code'[email protected]_code) and ('id_type'[email protected]_type)) 
    if(@check_id_exists > 0) 
    begin 
    update crms_customer_id_verification set [email protected]_status,[email protected]_response,[email protected]_date where (('customer_code'[email protected]_code) and ('id_type'[email protected]_type)) 
    return @@rowcount 
    end 
    if((@check_id_exists <> null) or (@check_id_exists <> 0)) 
    begin 
    insert into crms_customer_id_verification(customer_code,id_type,verification_status,verification_response,verification_date,add_user) values(@customer_code,@id_type,@verification_status,@verification_response,@verification_date,@add_user) 
     return @@rowcount 
    end 
end 

をプロシージャを作成しました。

答えて

0
/* 
create procedure prcrms_crms_cust_verify_ins(@customer_code varchar(255),@id_type varchar(255) ,@verification_status varchar(12),@verification_response varchar(255),@verification_date varchar(255),@add_user varchar(21))as 
/* 
** ------------------------------------ 
** Created By : Bibil Mathew Chacko 
** Created On : Jul 16 2016 
** Description : insert in crms_customer_id_verification if id_type and customer exist.Update table if customer and id_type exist. 
** ------------------------------------- 
*/ 
begin 
declare 

    @check_id_exists int, 
    @cc    numeric, 
    @id_t    tinyint, 
    @vd    datetime    


    select @cc = convert(numeric(12,0),@customer_code) 
    select @id_t = convert(tinyint,@id_type) 
    select @vd = convert(datetime,@verification_date) 

    select @check_id_exists = count(*) from crms_customer_id_verification where (([email protected]) and ([email protected]_t)) 
    if(@check_id_exists > 0) 
    begin 
    update crms_customer_id_verification set [email protected]_status,[email protected]_response,[email protected] where ([email protected] and [email protected]_t) 
    return @@rowcount 
    end 
    if((@check_id_exists <> null) or (@check_id_exists <> 0)) 
    begin 
    insert into crms_customer_id_verification(customer_code,id_type,verification_status,verification_response,verification_date,add_user) values(@cc,@id_t,@verification_status,@verification_response,@vd,@add_user) 
     return @@rowcount 
    end 
end 

*/ 
/*exec prcrms_crms_cust_verify_ins '3344','0',"VERIFIED",'{test:test}','1998-09-09 12:12:12.000','Admin'*/ 

必要な型に変換するためのサポートを持つべきパラメータおよび手順としてVARCHARタイプを使用する必要があります。私が行った別の間違いは、Sybaseプロシージャには括弧がないことです。

+0

括弧のみが問題でした。なぜvarcharを使う必要があるのか​​分かりません(少なくとも質問とこの回答の両方からは明らかではありません)。 –

関連する問題