Forum Doku Wiki Blog

Forumsarchiv 2007, Februar
mySQL View mit Vairablen

archivierte Beiträge lesen

  1. (DATENBANK) mySQL View mit Vairablen von karlheinz, 27. 02. 2007, 15:14

mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 15:14 Uhr von karlheinz veröffentlicht.

Hi,

ich erzeuge in einer procedure eine view:


CREATE PROCEDURE foo(x INT)
BEGIN
  create view name as select * FROM tabelle where spalte = x;
END;


mit einem konstanten wert für x ist das kein problem, wenn ich aber variablen in der view verwende, bekomme ich folgende fehlermeldung:

View's SELECT contains a variable or parameter

sind variablen grundsätzlich in views nicht erlaubt? wenn ja, wäre das aber sehr nachteilig.

gruß
karlheinz

mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 15:19 Uhr von King^Lully veröffentlicht.

> sind variablen grundsätzlich in views nicht erlaubt? wenn ja, wäre das aber sehr nachteilig.

Es besteht eventuell in MySQL die Möglichkeit einen String (VARCHAR(x)) zusammenzubasteln und diesen dann auszuführen, als ob er ein normales SQL-Statement darstellt.

mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 15:28 Uhr von karlheinz veröffentlicht.

> Es besteht eventuell in MySQL die Möglichkeit einen String (VARCHAR(x)) zusammenzubasteln und diesen dann auszuführen, als ob er ein normales SQL-Statement darstellt.

und den string dann in die where-klausel setzen? der string wird/muss zwangsläufig in einer variable abgespeichert werden, damit ich den string auch an anderer stelle verwenden kann. oder wie hast du das gemeint? bin nicht ganz schlau aus deiner antwort geworden

mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 15:36 Uhr von King^Lully veröffentlicht.

> > Es besteht eventuell in MySQL die Möglichkeit einen String (VARCHAR(x)) zusammenzubasteln und diesen dann auszuführen, als ob er ein normales SQL-Statement darstellt.
>
> und den string dann in die where-klausel setzen?

Den String ausführen (@Var='SELECT * FROM DT_1'; EXEC @VAR;), also ggf. inkl. WHERE-Klausel, Moment, wir gehen mal in die Doku, ...

Ne, sorry, nichts in der Doku gefunden.

mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 16:35 Uhr von ZinTor veröffentlicht.

Hallo,

> Den String ausführen (@Var='SELECT * FROM DT_1'; EXEC @VAR;), also ggf. inkl. WHERE-Klausel, Moment, wir gehen mal in die Doku, ...
>
> Ne, sorry, nichts in der Doku gefunden.

ich habe selbiges Problem. Habe es wie King^Lully mittels execute probiert, "exec" habe ich in der Doku jetzt nicht gefunden...


procedure()
begin
  declare var int;

  PREPARE stmt1 from 'create view blabla... where spalte = var';
  EXECUTE stmt1;
end;

-> ERROR 1351 (HY000): View's SELECT contains a variable or parameter

ganz schön ärgerlich wenn Variablen innerhalb einer View nicht verwendet werden können...


mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 16:53 Uhr von Ilja veröffentlicht.

yo,

> ganz schön ärgerlich wenn Variablen innerhalb einer View nicht verwendet werden können...

was spricht den dagegen, die view mit einer where klausel aufzurufen also:

select spalte1, spalte2..
from view_name
where spaltex = wert

Ilja

mySQL View mit Vairablen

Der folgende Beitrag wurde am 27. 02. 2007, 17:00 Uhr von ZinTor veröffentlicht.

Hallo,

> was spricht den dagegen, die view mit einer where klausel aufzurufen also:
>
> select spalte1, spalte2..
> from view_name
> where spaltex = wert
>
> Ilja

gar nichts! Problem ist, erzeuge eine View in der eine Where-Klausel vorkommt die Variablen enthält => is nit weil geht nit :)

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4