mysql> USE AA;
Database changed
mysql> SOURCE R:/TEMP/A.TXT;
Query OK, 0 rows affected (0.11 sec)mysql>A.TXTdelimiter //
create procedure mypro1() begin
 declare i int ;
 declare pos int;
 set i = 0;
 set pos = 10002;
 while pos<10005 do
 insert into s(stu_num,stu_name,stu_address)values(pos,'xy','北京市');
 set i = i+1;
 set pos = pos+1;
 end  while;
 end//
delimiter ;

解决方案 »

  1.   

    OR
    在系统命令行下
    D:\MySQL55\bin>MYSQL -uroot -pZWTL AA<R:\TEMP\A.TXTD:\MySQL55\bin>
      

  2.   

    我觉得  可以先创建存储过程,然后需要的时候再CALL调用
    MYSQL中你在DELIMITER中执行SOURCE估计不能执行啊
      

  3.   


    看截图:仔细看看TXT中的内容A.TXT
     
    delimiter //
    create procedure mypro1()
     
     begin
     declare i int ;
     declare pos int;
     
     
     set i = 0;
     set pos = 10002;
     while pos<10005 do
     insert into s(stu_num,stu_name,stu_address)values(pos,'xy','北京市');
     set i = i+1;
     set pos = pos+1;
     end  while;
     end//
    delimiter ;
      

  4.   


    看截图:仔细看看TXT中的内容A.TXT
     
    delimiter //
    create procedure mypro1()
     
     begin
     declare i int ;
     declare pos int;
     
     
     set i = 0;
     set pos = 10002;
     while pos<10005 do
     insert into s(stu_num,stu_name,stu_address)values(pos,'xy','北京市');
     set i = i+1;
     set pos = pos+1;
     end  while;
     end//
    delimiter ;
    高手你好,你的答案虽然解答我的问题,但是同时给我带来更多的困惑。希望百忙之中,给以解答,多谢。1. 对于存储过程中的分号,似乎有时候可以不写,也不会报错语法。我实在不知道,到底该什么时候用分号? 什么时候不用。
    2. 为什么 脚本的后缀名,必须是txt, sql后缀一直失败。我敢说很多人都在用sql后缀,为什么他们的没有失败。3. 通过存储过程写进入的中文字符串,select * from后,发现出现了乱码。而在命令行下直接insert into 则不会出现。 是mysql的bug?如果是,那么如何解决。如果不是,又是为何?问题有点多,困惑我很久,分数不多,希望给一个mysql初学者一点 正面的解答,多谢。
      

  5.   

    ;号是做为语句的结束符,但 begin , end 本身也是结束符,所以不用加;,其它都需要加。
      

  6.   

    2. 为什么 脚本的后缀名,必须是txt, sql后缀一直失败。没有这种限制。3. 通过存储过程写进入的中文字符串,select * from后,发现出现了乱码。检查一下字符集设置。