declare @XueShu int
set @XueShu=0
while  @XueShu<=10
begin
set @XueShu=@XueShu+1
.
.
--其他sql代码部分
.end
--
在未使用while  @XueShu<=10循环时,
--其他sql代码部分 是可以独立运行的,
但是使用之后,出现
消息 102,级别 15,状态 1,第 13 行
'end' 附近有语法错误。
消息 102,级别 15,状态 1,第 176 行
'end' 附近有语法错误。
---
会不会是while循环内不能有太多的begin-end?
请教!

解决方案 »

  1.   

    代码不全不能随便下结论 看你while是怎么用的
      

  2.   

    use ceshi--大循环
    declare @XueShu int
    set @XueShu=0
    while  @XueShu<=10
    begin
    set @XueShu=@XueShu+1
    if not exists (select * from sysobjects where xtype='U' and name='xueall')
    begin
    create table xueall(id int IDENTITY (1,1) PRIMARY KEY,BorP char(1))
    end--<<这个位置出错
    go
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GOif not exists (select * from sysobjects where xtype='U' and name='xue')
    begin
    create table xue(id int IDENTITY (1,1) PRIMARY KEY,P1 tinyint,P2 tinyint,P3 tinyint ,B1 tinyint ,B2 tinyint ,B3 tinyint ,BorP char(1))
    end
    if not exists (select * from sysobjects where xtype='U' and name='g1')
    begin
    CREATE TABLE g1 (id int IDENTITY (1,1) PRIMARY KEY, pat int )
    end
    ...省略
    ...
    insert into xueall(BorP) select BorP from xue where BorP='P' or BorP='B'
    TRUNCATE TABLE g1
    TRUNCATE TABLE g2
    TRUNCATE TABLE xue
    end--<<这个位置出错
      

  3.   

    把go 放在end里面
    if not exists (select * from sysobjects where xtype='U' and name='xueall')
    begin
    create table xueall(id int IDENTITY (1,1) PRIMARY KEY,BorP char(1))
    go
    end
    试试
      

  4.   

    放在里面得时候别忘了最后得end前面加个go
      

  5.   

    CREATE TABLE 必须作为第一句.
      

  6.   

    if not exists (select * from sysobjects where xtype='U' and name='xueall')
    begin
    create table xueall(id int IDENTITY (1,1) PRIMARY KEY,BorP char(1))--<<这个位置出错
    go
    end--<<这个位置出错
    ---
    消息 102,级别 15,状态 1,第 12 行
    ')' 附近有语法错误。
    消息 102,级别 15,状态 1,第 1 行
    'end' 附近有语法错误。
    修改之后出现的问题。
      

  7.   

    把go放在end里面还是出现以前的出错提示。
      

  8.   

    问题已解决。
    --
    把go 都去掉
    之后已经解决问题。
    --
    为什么要去掉go呢?