按照一本书的例子
在Mysql query Broser里创建了一个存储过程,SOURCEHelloWorld.sql
具体代码如下:
DELIMITER$$DROP PROCEDURE IF EXISTS HelloWolrd$$
CREATE PROCEDURE HelloWolrd()
BEGIN
   SELECT `Hello World`;
END$$然后用命令行客户端调用这个程序mysql>SOURCEHelloWorld.sql;
就报了1064错误,然后我直接在Mysql query Broser中运行脚本,它又报1046错误,no database selected请高手指点,请教!

解决方案 »

  1.   

    use test;先执行一下这个。
      

  2.   

    连接上以后,第一步,use <dbname>
    然后再创建你所说的存储过程.........
      

  3.   

    DELIMITER$$
    use test$$
    DROP PROCEDURE IF EXISTS HelloWolrd$$
    CREATE PROCEDURE HelloWolrd()
    BEGIN
      SELECT `Hello World`;
    END$$这样试试
      

  4.   

    DELIMITER$$
    use test;
    DROP PROCEDURE IF EXISTS HelloWolrd$$
    CREATE PROCEDURE HelloWolrd()
    BEGIN
      SELECT `Hello World`;
    END$$少了一个选择数据库的步骤。
      

  5.   

    全部sql如下:$$ 这个分隔符,有的时候前面需要一个空格,有的时候不需要,看编译环境而定,试试就ok了。DELIMITER $$
    use test $$
    DROP PROCEDURE IF EXISTS HelloWolrd $$
    CREATE PROCEDURE HelloWolrd()
    BEGIN
      SELECT `Hello World`;
    END$$
      

  6.   

    对了,你的select语句里面的‘’写的不规范,call报错。要写成如下的'':DELIMITER $$
    use test $$
    DROP PROCEDURE IF EXISTS HelloWolrd $$
    CREATE PROCEDURE HelloWolrd()
    BEGIN
       SELECT 'Hello Word';
     END $$