首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误错误语法

错误错误语法
EN

Stack Overflow用户
提问于 2016-07-15 12:29:51
回答 1查看 22关注 0票数 0

我在Sybase中创建了一个过程

代码语言:javascript
复制
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'=@customer_code) and ('id_type'=@id_type))
  if(@check_id_exists > 0)
  begin
    update crms_customer_id_verification set verification_status=@verification_status,verification_response=@verification_response,verification_date=@verification_date where  ( ('customer_code'=@customer_code) and ('id_type'=@id_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

当我试图执行这个过程时

代码语言:javascript
复制
exec prcrms_crms_cust_id_verify_ins(3344,0,"VERIFIED",'{test:test}','1998-09-09 12:12:12.000','Admin')

它在'3344‘附近显示了不正确的语法。

EN

回答 1

Stack Overflow用户

发布于 2016-07-16 06:03:06

代码语言:javascript
复制
/*
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 ( (customer_code=@cc) and (id_type=@id_t))
  if(@check_id_exists > 0)
  begin
    update crms_customer_id_verification set verification_status=@verification_status,verification_response=@verification_response,verification_date=@vd where  (customer_code=@cc and id_type=@id_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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38396168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档