网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

sql问题(1)

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
--拼SQl中常见问题
    --1.int型参数放在拼sql中运行出错,提示该int型前面的那些字符串(如下存储过程中‘aWHEREARID=casewhen“)无法转化为整形int
    --解决方法将整形参数转化为字符串即可如'+cast(@ARIDasvarchar(50))+'
    --2.字符串类型参数提示列名'fdfd'(假设@ABID=fdfd)无效,
    --解决方法将整如ABID='''+@ABID+'''即可
    /*------------------------------------------------------------
    *创建人:马锋
    *创建时间:2011年08月12日10点37分
    *描述:按条件读取分页数据
    ------------------------------------------------------------*/
    alterPROCEDURE[Analys_Arch_Place]
    @pagesizeint,--每页显示的记录数
    @pageindexint,--当前页索引,最小值为1
    @RecordCountintoutput,--总记录数,<0时不统计结果记录
    @TabNamevarchar(50),
    @ARIDint,
    @ACIDint,
    @AJIDint,
    @ABIDvarchar(50)
    AS
    
    SETNOCOUNTON
    
    createtable#indextb(rowidINTIDENTITY(1,1),nidINT)
    declare@sqlvarchar(2000)
    set@sql='insertinto#indextb(nid)SELECTa.ArchID
    FROM'+@TabName+'aWHERE
    ARID=casewhen'+cast(@ARIDasvarchar(50))+'<1thenARIDelse'+cast(@ARIDasvarchar(50))+'endand
    ACID=casewhen'+cast(@ACIDasvarchar(50))+'<1thenACIDelse'+cast(@ACIDasvarchar(50))+'endand
    AJID=casewhen'+cast(@AJIDasvarchar(50))+'<1thenAJIDelse'+cast(@AJIDasvarchar(50))+'endand
    ABID='''+@ABID+'''andStatus>=3'
    exec(@sql)
    
    DECLARE@PageLowerBoundINT
    DECLARE@PageUpperBoundINT
    SET@PageLowerBound=(@pageindex-1)*@pagesize
    SET@PageUpperBound=@PageLowerBound+@pagesize
    SETROWCOUNT@PageUpperBound--最多执行行数若下面还有超过此值的行数,请注释此行
    
    IF(@RecordCount<0)
    BEGIN
    SELECT@RecordCount=Count(1)FROM#indextb
    END
    
    
    if(@TabName='ddd')
    BEGIN
    SELECTa.*
    FROMddda,#indextbt
    WHEREa.[ArchID]=t.nidandt.rowid>@PageLowerBoundandt.rowid<=@PageUpperBound
    END
    
    
    
    SETNOCOUNTOFF
    --3.拼Sql中的“,”号问题
    CREATEPROCEDURE[up_ARCH_BatchVerify]
    @TableNamenvarchar(100),
    @IdsNVARCHAR(2000),
    @ReviewStaffIDnvarchar(50)
    AS
    DECLARE@signchar(1)
    SET@sign=','--如果“,”直接放在拼sql中会提示逗号错误
    DECLARE@SQLnvarchar(4000)
    set@SQL='update'+@TableName+'setStatus=2,ReviewStaffID='+@ReviewStaffID+'whereArchIDin(SELECT*FROMf_split('''+@Ids+''','''+@sign+'''))'
    EXECsp_executesql@SQL
    
    
    
  • 上一篇资讯: sql问题
  • 下一篇资讯: SQL选择
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师