php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-09-2006, 22:12
0413
 Newbie
Links : Onlinestatus : 0413 ist offline
Registriert seit: Feb 2003
Ort: Mainz
Beiträge: 46
0413 ist zur Zeit noch ein unbeschriebenes Blatt
Standard CURSOR mit VARIABLE

Hallo zusammen,
seit kurzem muss ich mich mit stored procedures auseinander setzen und nach der 1. woche muss ich sagen mysql kann schon eine ganze menge mittlerweile.
leider bin ich seit gestern an einem problem hängen geblieben was einfach keine lösung zu haben scheint und mittlerweile glaube ich das mein weg zur lösung des problems nicht der richtige sein kann. auch hat der 2. tag recherche nicht viel eingebracht und somit hoffe ich auf euch.

Eigentlich ist es ganz simple:
1: Eine stored Procedure befüllt eine Variable "tempstring" mit einem String der letztendlich die Bedingung für ein IN() werden soll.
2: Es soll mit einem CURSOR durch das Ergebnis der Abfrage durchgelaufen werden.
z.B.:
DECLARE cur1 CURSOR FOR SELECT * FROM tablename WHERE fieldname IN(tempstring)

Aber irgendwie sehe ich einfach nicht was daran falsch ist oder wie man so was macht. Wenn ich Das statement so abschicke bekomme ich keine ausgabe. Wenn ich die Variable mit ihrem Inhalt den ich mir ja ausgeben lassen kann ersetze dann funktioniert alles. Was für mich heisst die Variable wird nicht als solche erkannt.
Wenn ich das ganze jetzt dynamisch aufbaue habe ich immer Probleme zum Besipiel mit dem Continue Handler.

Also irgendwie geht es so nicht. Da ich keine Tutorials oder so finden konnte wäre allein die INFO schon mal gut ob man den CURSOR mit PREAPRE und EXECUTE aufbauen kann oder zum Beispiel einfach nur das mal jemand sagt so schon mal gar nicht aber schau mal hier.
Viel Dank
__________________
Realismus hilft beim Träumen nicht weiter!!!
Mit Zitat antworten
  #2 (permalink)  
Alt 17-09-2006, 23:26
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Hallöchen!

Daran seh ich jez erstmal keinen Fehler so spontan, aber wie wärs denn du mal deine ganze Prozedur posten würdest? Vielleicht könnte man dann aus dem Kontext mehr erkennen.
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #3 (permalink)  
Alt 18-09-2006, 10:28
0413
 Newbie
Links : Onlinestatus : 0413 ist offline
Registriert seit: Feb 2003
Ort: Mainz
Beiträge: 46
0413 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm bin mir nicht sicher ob das jetzt noch was hilft aber hier mal die kurzfassung der procedure

als problem ist immer noch die variable tempquery wenn man den inhalt direkt in den IN() Teil schreibt funktioniert alles aber wenn man die variable so stehen lässt dann habe ich kein result

DELIMITER ||
DROP PROCEDURE IF EXISTS getsearchList||
CREATE PROCEDURE getsearchList()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE tempquery VARCHAR(255) DEFAULT "'A_ART_ID','A_BERUF_ID'";
DECLARE suchparametera,prioa,searchviewa,feldnamea VARCHAR(255);

DECLARE cur1 CURSOR FOR SELECT suchparameter,prio,searchview,feldname FROM t_search_parameter WHERE t_search_parameter.suchparameter IN(tempquery) ORDER BY t_search_parameter.prio,t_search_parameter.searchview;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

OPEN cur1;

REPEAT
FETCH cur1 INTO suchparametera,prioa,searchviewa,feldnamea;
IF NOT done THEN
INSERT INTO debug SET name=suchparametera,description=searchviewa;
END IF;
UNTIL done END REPEAT;

CLOSE cur1;
END
__________________
Realismus hilft beim Träumen nicht weiter!!!
Mit Zitat antworten
  #4 (permalink)  
Alt 18-09-2006, 14:42
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

versuch bite mit
where FIND_IN_SET(t_search_parameter.suchparameter, tempquery) IS NOT NULL
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #5 (permalink)  
Alt 18-09-2006, 15:48
0413
 Newbie
Links : Onlinestatus : 0413 ist offline
Registriert seit: Feb 2003
Ort: Mainz
Beiträge: 46
0413 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm bekomme nur die Fehlermeldung

FUNCTION FIND_IN_SET does not exist

dabei sollte die Funktion doch MySQL Standard sein oder?
habe das ganze hier mit WAMP laufen MySQL version :
5.0.15-nt
__________________
Realismus hilft beim Träumen nicht weiter!!!
Mit Zitat antworten
  #6 (permalink)  
Alt 18-09-2006, 15:53
0413
 Newbie
Links : Onlinestatus : 0413 ist offline
Registriert seit: Feb 2003
Ort: Mainz
Beiträge: 46
0413 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

allerdings bekomme ich ein Result wenn ich das hier mit dem Query Browser abschicke
SELECT FIND_IN_SET('b','a,b,c,d');
jetzt bin ich verwirrt. kann es sein das es nicht geht weil es in der procedure ist
__________________
Realismus hilft beim Träumen nicht weiter!!!
Mit Zitat antworten
  #7 (permalink)  
Alt 18-09-2006, 16:44
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von 0413
jetzt bin ich verwirrt. kann es sein das es nicht geht weil es in der procedure ist
jetzt bin ich auch verwirrt
keine Ahnung, warum die funtion nicht erkannt wird?
__________________
Slava
bituniverse.com
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:54 Uhr.