Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit SP in MySQL (https://www.delphipraxis.net/113329-problem-mit-sp-mysql.html)

guidok 6. Mai 2008 09:08

Datenbank: MySQL • Version: 5.1 • Zugriff über: Zeos

Problem mit SP in MySQL
 
Ich versuche gerade eine Stored Procedure in MySQL anzulegen, aber irgendwas haut nicht hin, obwohl ich jetzt schon ziemlich lange rumprobiere. Ok, ich kenn mich mit SQL noch nicht so richtig aus, aber es sollte doch einigemaßen so stimmen.

SQL-Code:
DELIMITER $$

DROP PROCEDURE IF EXISTS `bmm`.`sp_handle_stdtxtgrp` $$
CREATE PROCEDURE `bmm`.`sp_handle_stdtxtgrp` (in_todo char,
                                              in_id integer,
                                              in_stext varchar(45),
                                              in_cuser varchar(10),
                                              in_state varchar(45))
BEGIN
case in_todo
  when 'i' then
    insert into t_stdtxtgrp values(0, stext, now(), in_cuser, 'ANGL');
  when 'u' then
    update t_stdtxtgrp set stext=in_stext, clast=now(), cuser=in_cuser, state=in_state
      where id=in_id;
END $$

DELIMITER ;
Script line: 4 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 '' at line 14

Wo liegt der Fehler?

franktron 6. Mai 2008 09:20

Re: Problem mit SP in MySQL
 
Zitat:

Zitat von guidok
Ich versuche gerade eine Stored Procedure in MySQL anzulegen, aber irgendwas haut nicht hin, obwohl ich jetzt schon ziemlich lange rumprobiere. Ok, ich kenn mich mit SQL noch nicht so richtig aus, aber es sollte doch einigemaßen so stimmen.

SQL-Code:
DELIMITER $$

DROP PROCEDURE IF EXISTS `bmm`.`sp_handle_stdtxtgrp` $$
CREATE PROCEDURE `bmm`.`sp_handle_stdtxtgrp` (in_todo char,
                                              in_id integer,
                                              in_stext varchar(45),
                                              in_cuser varchar(10),
                                              in_state varchar(45))
BEGIN
case in_todo
  when 'i' then
    insert into t_stdtxtgrp values(0, stext, now(), in_cuser, 'ANGL');
  when 'u' then
    update t_stdtxtgrp set stext=in_stext, clast=now(), cuser=in_cuser, state=in_state
      where id=in_id;
END $$

DELIMITER ;
Script line: 4 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 '' at line 14

Wo liegt der Fehler?

Deine Procedure ist doch ganz falsch

die muss so ausehen

SQL-Code:
CREATE PROCEDURE `bmm`.`sp_handle_stdtxtgrp` (in in_todo char,
                                              in in_id integer,
                                              in in_stext varchar(45),
                                              in in_cuser varchar(10),
                                              in in_state varchar(45))

guidok 6. Mai 2008 10:34

Re: Problem mit SP in MySQL
 
Zitat:

Zitat von "franktron
Deine Procedure ist doch ganz falsch

die muss so ausehen

[code=sql
CREATE PROCEDURE `bmm`.`sp_handle_stdtxtgrp` (in in_todo char,
in in_id integer,
in in_stext varchar(45),
in in_cuser varchar(10),
in in_state varchar(45))
[/code]

IN ist doch default und muss nicht angegeben werden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz