Definitivaly stopping and going for one or two cups of coffee.
I was logged in to another mysql... when I copied the last email. Sorry
guys, I don't want to add extra non-sense text to the list!
+------------------------------+
| version()                    |
+------------------------------+
| 5.0.22-Debian_1.dotdeb.1-log |
+------------------------------+

Now delimiter works fine, but I still get error trying to create the
procedure ( http://forge.mysql.com/snippets/view.php?id=4 ):

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near 'CREATE PROCEDURE split_string (
    IN input TEXT,
    IN delimiter VARCHAR(10' at line 2


Just for the happy comment: Argentina Will win the match tonight against
Holland :)
MARTIN


On 6/21/06, listsql listsql <[EMAIL PROTECTED]> wrote:

Sorry forgot to copy my version:

It's not acepting the delimiter command, can be ? I'm really missing
something here.
+-------------------------------+
| version()                     |
+-------------------------------+
| 4.0.24_Debian-10ubuntu2.3-log |
+-------------------------------+
mysql> delimiter //
    -> CREATE PROCEDURE simpleproc (OUT param1 INT)
    -> BEGIN
    ->
    -> SELECT COUNT(*) INTO param1 FROM t;
ERROR 1064: You have an error in your SQL syntax.  Check the manual that
corresponds to your MySQL server version for the right syntax to use near
'delimiter //
CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN



On 6/21/06, listsql listsql <[EMAIL PROTECTED]> wrote:
>
> Hi all,
> I was trying this:
> http://forge.mysql.com/snippets/view.php?id=4
>
> That is supposed to emulate a  split()   in mysql.
>
> Could anyone make it work ?
>
> I've been trying without luck.  I 'm getting strange errors when trying
> to create this procedure.
>
> _____________________________________
> DROP PROCEDURE IF EXISTS split_string
>   CREATE PROCEDURE split_string (
>      IN input TEXT,
>      IN delimiter VARCHAR(10)
>   )
>       SQL SECURITY INVOKER
>       BEGIN
>       DECLARE cur_position INT DEFAULT 1 ;
>       DECLARE remainder TEXT;
>       DECLARE cur_string VARCHAR(1000);
>       DECLARE delimiter_length TINYINT UNSIGNED;
>       DROP TEMPORARY TABLE IF EXISTS SplitValues;
>       CREATE TEMPORARY TABLE SplitValues (
>         value VARCHAR(1000) NOT NULL PRIMARY KEY
>         ) ENGINE=MEMORY;
>       SET remainder = input;
>       SET delimiter_length = CHAR_LENGTH(delimiter);
>
>        WHILE CHAR_LENGTH(remainder) > 0 AND cur_position > 0 DO
>         SET cur_position = INSTR(remainder, delimiter);
>
>       IF cur_position = 0 THEN
>         SET cur_string = remainder;
>      ELSE
>         SET cur_string = LEFT(remainder, cur_position - 1);
>         END IF;
>
>       IF TRIM(cur_string) != '' THEN
>         INSERT INTO SplitValues VALUES (cur_string);
>      END IF;
>
>       SET remainder = SUBSTRING(remainder, cur_position +
> delimiter_length);
>
>       END WHILE;
>       END
>
> __________________________________________________--
>
> Best regards,
> MARTIN
>
>

Reply via email to