⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sp-goto.test

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TEST
字号:
## The non-standard GOTO, for compatibility## QQQ The "label" syntax is temporary, it will (hopefully)#     change to the more common "L:" syntax soon.#     For the time being, this feature is disabled, until#     the syntax (and some other known bugs) can be fixed.## Test cases for bugs are added at the end. See template there.#--disable_warningsdrop table if exists t1;--enable_warningscreate table t1 (	id   char(16) not null default '',        data int not null);delimiter //;--disable_warningsdrop procedure if exists goto1//--enable_warningscreate procedure goto1()begin  declare y int;label a;  select * from t1;  select count(*) into y from t1;  if y > 2 then    goto b;  end if;  insert into t1 values ("j", y);  goto a;label b;end//call goto1()//drop procedure goto1//# With dummy handlers, just to test restore of contexts with jumps--disable_warningsdrop procedure if exists goto2//--enable_warningscreate procedure goto2(a int)begin  declare x int default 0;  declare continue handler for sqlstate '42S98' set x = 1;label a;  select * from t1;b:  while x < 2 do    begin      declare continue handler for sqlstate '42S99' set x = 2;      if a = 0 then        set x = x + 1;        iterate b;      elseif a = 1 then        leave b;      elseif a = 2 then        set a = 1;        goto a;      end if;    end;  end while b;  select * from t1;end//call goto2(0)//call goto2(1)//call goto2(2)//drop procedure goto2//delete from t1//# Check label visibility for some more cases. We don't call these.--disable_warningsdrop procedure if exists goto3//--enable_warningscreate procedure goto3()begin label L1;   begin   end; goto L1;end//drop procedure goto3//--disable_warningsdrop procedure if exists goto4//--enable_warningscreate procedure goto4()begin  begin   label lab1;    begin      goto lab1;    end;  end;end//drop procedure goto4//--disable_warningsdrop procedure if exists goto5//--enable_warningscreate procedure goto5()begin  begin    begin      goto lab1;    end;   label lab1;  end;end//drop procedure goto5//--disable_warningsdrop procedure if exists goto6//--enable_warningscreate procedure goto6()begin  label L1;  goto L5;  begin    label L2;    goto L1;    goto L5;    begin      label L3;      goto L1;      goto L2;      goto L3;      goto L4;      goto L5;    end;    goto L2;    goto L4;    label L4;  end;  label L5;  goto L1;end//drop procedure goto6//# Mismatching labels--error 1308create procedure foo()begin  goto foo;end//--error 1308create procedure foo()begin  begin    label foo;  end;  goto foo;end//--error 1308create procedure foo()begin  goto foo;  begin    label foo;  end;end//--error 1308create procedure foo()begin  begin    goto foo;  end;  begin    label foo;  end;end//--error 1308create procedure foo()begin  begin    label foo;  end;  begin    goto foo;  end;end//# No goto in a handler--error 1358create procedure p()begin  declare continue handler for sqlexception    begin      goto L1;    end;  select field from t1;  label L1;end//## Test cases for old bugs### BUG#6898: Stored procedure crash if GOTO statements exist#--disable_warningsdrop procedure if exists bug6898//--enable_warningscreate procedure bug6898()begin  goto label1;  label label1;  begin end;  goto label1;end//drop procedure bug6898//## BUG#NNNN: New bug synopsis##--disable_warnings#drop procedure if exists bugNNNN//#--enable_warnings#create procedure bugNNNN...# Add bugs above this line. Use existing tables t1 and t2 when# practical, or create table t3, t4 etc temporarily (and drop them).delimiter ;//drop table t1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -