zoukankan      html  css  js  c++  java
  • [转]select top n 动态赋值

    怎样实现 select top n 语句中 n 的动态赋值呢?
    怎样实现 select   top   n   语句中 n 的动态赋值,求教各位了. 

    要把这个n值传到存储过程中,再加入 
    select top n 
    语句中,而且不能用下面这种形式 来执行查询,要直接查询的 

    DECLARE   @sqlStr   nvarchar(400) 
    SET   @sqlStr   =   "   SELECT   TOP   "   +   CAST(@pageSize   AS     CHAR(10))     +   "   *   FROM   课程表 " 
    EXEC   sp_executesql   @sqlStr 

    这个办法我已经实现了,可公司现要求不用字符串,要直接查询,请问有没有别的办法实现了呢.我现在用下面的方法总是出错: 

    SELECT     TOP   @pageSize   *   FROM   课程表   



    ------解决方案--------------------
    declare @i int 
    set @i =10 
    set rowcount @i 
    select * from 课程表 
    set rowcount 0 

    ------解决方案--------------------

    declare @pageSize int,@str varchar(100) 

    set @pageSize=100 

    set @str=cast(@pageSize as varchar(100)) 

    exec ( 'SELECT TOP ' + @str + ' * FROM 课程表 ') 
    ------解决方案--------------------
    不能吧, 
    我想你公司的意思是不是要放在服务器中得到SQL语句再在数据服务器运行? 

    楼上的大大们,LZ要的是:可公司现要求不用字符串,要直接查询 
    ------解决方案--------------------
    LZ用2000还是2005,2005可以不用字符串直接实现 
    ------解决方案--------------------
    sql 2005 可以直接实现 

    select top(1+2) 

    from syscolumns

  • 相关阅读:
    [bzoj1089] 严格n元树
    [bzoj1097] 旅游景点atr
    [hdu3887] Counting Offspring
    [POJ3321] Apple Tree
    [POJ3635] Full Tank?
    git
    【MySQL】数据的导出导入
    Ubuntu python 开发环境配置
    测试markdown
    约瑟夫环问题-java实现
  • 原文地址:https://www.cnblogs.com/skysowe/p/6639749.html
Copyright © 2011-2022 走看看