Forum: Datenbanken
by ZOD,
9. Nov 2017
@hoika
ich habe die 8191 aus Anzeige im Eingabedialog für Parameter von IBExpert.
War es nicht so, dass für ein varchar immer noch ein Zeichen hinzu kommt - also 8190 Zeichen für die Funktion aber der varchar hat 8191 Länge .. da muss ich selbst nochmals suchen.
@p80286
probiere ich später nochmals
@alex517
das muss es sein!
Forum: Datenbanken
by ZOD,
9. Nov 2017
@nahpets
Zur einfacheren Diskussion ein konretes Beispiel. Ich verwende
select
lt.id,
lt.date_time,
lt.operation,
lt.user_name
Forum: Datenbanken
by ZOD,
9. Nov 2017
Nachtrag:
der Vorschlag, die Bedingung umzudrehen führt leider auch zum Fehler,
das also funktioniert nicht:
select
'Test'
from rdb$database
where
Forum: Datenbanken
by ZOD,
9. Nov 2017
@Jumpy
genau das ist die Intention. Ich verwende eine Stored procedure, da werden Parameter übergeben.
Werden diese mit NULL übergeben, so wird in eine Variable ein '*' eingetragen, ansonsten schreibe ich den übergebenen Wert in die Variable.
Die Variablen werden in einer Abfrage in der Stored Procedure verwendet - die Beispiele oben waren für den Thread hier
stark vereinfacht.
Wie...
Forum: Datenbanken
by ZOD,
9. Nov 2017
letzten Beitrag gelesen - weitergemacht:
weitere Tests haben ergeben, dass das Problem entsteht, wenn der Wert ein char bzw. varchar ist.
Wird in der where-Klausel der Vergleichswert per cast() übergeben, klappt es.
Also das
select
'Test'
Forum: Datenbanken
by ZOD,
9. Nov 2017
Noch ein Nachsatz:
ich kann nicht erkennen, wo ich hier einen Tabellenname parametrisiere.
In unserer Applikation gibt es einige Statements, die ähnlich aufgebaut sind und funktionieren.
Vielleicht nur aus Zufall - aber ich würde wirklich gerne verstehen, was ich da falsch mache.
Forum: Datenbanken
by ZOD,
9. Nov 2017
wenn ich die Abfrage im IBExpertstarte, wird sie vorbereitet
Plan:
PLAN (RDB$DATABASE NATURAL)
------ Performance info ------
Prepare time = 0ms
Execute time = 0ms
Avg fetch time = 0,00 ms
Current memory = 74.771.328
Forum: Datenbanken
by ZOD,
9. Nov 2017
das geht auch:
select
cast(:parameter as integer)
from rdb$database
where
:parameter = 1
irgendwie verstehe ich es nicht..
Forum: Datenbanken
by ZOD,
9. Nov 2017
mhm - das geht aber:
select
cast(:parameter as integer)
from rdb$database
Forum: Datenbanken
by ZOD,
9. Nov 2017
sorry - ich verstehe nicht.
ich vergleiche Werte einer Tabelle mit einem Parameter
lt.table_name = f_lrtrim8(f_upper(:tmp_tabellen_name)))
Forum: Datenbanken
by ZOD,
9. Nov 2017
Guten Morgen,
ich bekomme bei folgendem Statement
select
lt.id,
lt.date_time,
lt.operation
from ibe$log_tables lt
where