解决方案 »

  1.   

    可以declare cur1 CURSOR LOCAL FOR SELECT TOP 2 object_id AS ID,NAME FROM sys.tables ORDER BY ID
      

  2.   

    SELECT a.pono,a.itemno FROM popodtl a,popo b  WHERE a.MFID=b.FID AND  b.pono IS NOT NULL and b.pono <>''  ORDER BY b.CreateDate desc单独运行是可以的,但是放在在数据集里提示‘’关键字 'ORDER' 附近有语法错误。‘’ 
      

  3.   

    BEGIN
    DECLARE @pono NVARCHAR(100)
    DECLARE @itemno NVARCHAR(100)
    DECLARE My_Cursor CURSOR --定义游标
    FOR (SELECT a.pono,a.itemno FROM popodtl a,popo b  WHERE a.MFID=b.FID AND  b.pono IS NOT NULL and b.pono <>'' ORDER BY b.CreateDate desc )
    OPEN My_Cursor; --打开游标
    FETCH NEXT FROM My_Cursor INTO @pono,@itemno; --读取第一行数据
    WHILE @@FETCH_STATUS = 0
    BEGIN
    DECLARE @provfid INT
    DECLARE @cunzai INT
    DECLARE @fid INT
    语法检查是关键字 'ORDER' 附近有语法错误,这个提示的
      

  4.   

    BEGIN
    DECLARE @pono NVARCHAR(100)
    DECLARE @itemno NVARCHAR(100)
    DECLARE My_Cursor CURSOR --定义游标
    FOR SELECT top 99.99 percent  a.pono,a.itemno FROM popodtl a,popo b  WHERE a.MFID=b.FID AND  b.pono IS NOT NULL and b.pono <>'' ORDER BY b.CreateDate desc 
    OPEN My_Cursor; --打开游标
    FETCH NEXT FROM My_Cursor INTO @pono,@itemno; --读取第一行数据
    WHILE @@FETCH_STATUS = 0
    BEGIN
    DECLARE @provfid INT
    DECLARE @cunzai INT
    DECLARE @fid INT
      

  5.   

    http://msdn.microsoft.com/zh-cn/library/5A3A27AA-03E8-4C98-A27E-809282379B21(SQLServer.120).aspx
    你可以看看例子,别人的FOR是没有括号的。
      

  6.   

    为什么有些select语句,加了括号的也是可以运行的啊,如果这个语句我没用order by的话,语法检查也是通过的,也是可以运行的。真是奇怪啊~~
      

  7.   

    这个就是T-SQL逻辑步骤的范凑,加了order by之后,它已经不属于集合,而是cursor(我不知道应该译成指针还是游标),所以有问题的时候,你可以尝试使用top 99.9999 percent这个方法来避免这种方式,不加order by是一个集合,可以通过
      

  8.   

    看来order by是一个比较特殊的关键字啊。