php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.04.2009, 13:52  
Benutzer
 
Registriert seit: 16.09.2008
Beiträge: 37
Horst79 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Stored Procedure

Hi, wollte ne Stored Procedure schreiben aber hab immer einen Fehler

PHP-Code:
delimiter //
create procedure updateCount(IN tabId INT(11))
BEGIN
DECLARE number int;
DECLARE 
cursor CURSOR FOR SELECT count FROM table1 WHERE id tabId;
OPEN cursor
FETCH cursor INTO number 
;
UPDATE table1 SET countnumber 1 WHERE id tabId ;
CLOSE cursor
END 
Ich will den Count aus der Tabelle table1 erst lesen und dann um einen hochsetzten. Weiss einer was ich falsch mache?

Geändert von Horst79 (06.04.2009 um 14:12 Uhr).
Horst79 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.04.2009, 14:05  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Magst du uns auch noch verraten, welchen Fehler du bekommst?
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 06.04.2009, 14:09  
Benutzer
 
Registriert seit: 16.09.2008
Beiträge: 37
Horst79 befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
#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 'cursor CURSOR FOR SELECT count FROM table1 WHERE id = tabId;
OPEN cursor
FET' 
at line 4 
Horst79 ist offline   Mit Zitat antworten
Alt 06.04.2009, 14:09  
Erfahrener Benutzer
 
Benutzerbild von Phoscur
 
Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse:
Fortgeschritten
Phoscur wird schon bald berühmt werdenPhoscur wird schon bald berühmt werden
Standard

Was alle immer mit diesen cursors wollen... Wieso nicht einfach ein normales Query?

UPDATE table1 SET `views` = `count` + 1 WHERE `id` = tabId ;
__________________
Phoscur ist offline   Mit Zitat antworten
Alt 06.04.2009, 15:45  
Benutzer
 
Registriert seit: 16.09.2008
Beiträge: 37
Horst79 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Phlegma Beitrag anzeigen
Was alle immer mit diesen cursors wollen... Wieso nicht einfach ein normales Query?
Ok, so gings Danke.

Jetzt noch mit nen Rückgabewert

PHP-Code:
create procedure updateValue(IN Id1 INT(11), IN Id2
INT
(11), IN value INT(1), OUT avg INT)
BEGIN
UPDATE tab3 SET rating 
value WHERE tab1_id Id1 AND
tab2_id Id2;
SELECT AVG(countFROM tab1 INNER JOIN tab3 ON tab1.id 
tab1_id WHERE id Id1;
END 
PHP-Code:
call updateValue(226143, @count);
select @count as avg 
Hier kommt die Fehlermeldung
PHP-Code:
#1312 - PROCEDURE updateValue can't return a result set in the given context 
Der Update und das Select gehen alleine aber in der Procedure gehts nicht.
Ich seh den Fehler nicht

Edit: Ok habs es fehlte das into avg bei select avg(count)....

Geändert von Horst79 (06.04.2009 um 16:28 Uhr).
Horst79 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nochmal stored procedures drsoong Datenbanken 6 06.03.2009 17:40
[Erledigt] stored procedure via phpMyAdmin drsoong Datenbanken 3 25.02.2009 18:08
mySQL - Stored Procedures - Last Inserted Identity Datenbanken 6 23.11.2008 19:06
stored procedure, prepared statement wird nicht ausgeführt Horst79 PHP Tipps 2008 9 28.09.2008 15:08
Stored Procedure - Invalid Format %d Rex Datenbanken 2 25.08.2006 10:13
CLOB als Rückgabewerte aus Oracle Stored Procedure PHP-Fortgeschrittene 1 31.01.2006 11:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpmyadmin stored procedures anzeigen, procedure can\'t return a result set in the given context, 1312: procedure can\'t return a result set in the given context ), php \stored procedure\ select, procedure can\'t return a resultset in the given context phpmyadmin, php can\'t return a result set in the given context, phpmyadmin stored procedures, php stored procedure schreiben, php stored procedures rückgabewert, stored procedure mit rückgabewert, php \stored procedure\, php stored procedure rückgabewert, php procedure \can\'t return a result set in the given context\, error: 1312: procedure can\'t return a result set in the given context, http://www.php.de/datenbanken/53834-erledigt-stored-procedure.html, php \can\'t return a result set in the given context\, phpmyadmin procedure error 1312 can\'t return a result set in the given context, stored procedure rückgabe

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum