Update:
Es funktioniert in dem ganzen Feld nicht...wende ich die entsprechenden Operatoren auf eine andere Spalte an funktioniert es.
Hallo,
ich habe eine Regel auf eine Tabelle erstellt, die bei einfügen eines bestimmten Eintrages einen Vermerk in einer anderen Tabelle setzen soll:
CREATE OR REPLACE RULE version AS ON INSERT TO t_log WHERE new.abgerufene_datei LIKE '%version%' DO (
[..]
)
Leider spricht die Regel nicht an. Sobald ich den Vergleichsoperator auf = setze (also new.abgerufene_datei='something') funktioniert es. Ich kann aber nicht 100% voraussagen, was in dem Feld steht, da die Version sich mit der Zeit ändert...
Ich habe folgende Operatoren probiert, bei allen schlägt es fehl.
new.abgerufene_datei LIKE '%version%'
new.abgerufene_datei ~~ '%version%'
new.abgerufene_datei ~* '.*version.*'
new.abgerufene_datei ~ '.*version.*'
Das Postgres Manual schreibt zu conditions: "Any SQL conditional expression (returning boolean). The condition expression may not refer to any tables except new and old, and may not contain aggregate functions."
Was mache ich falsch?
Es ist ein PostgreSQL 7.4.7 unter Linux.
bYe Martin
Geändert von mrmaddin (12.08.2008 um 16:53 Uhr) Grund: WYSIWYG Zeug entfernt.
Update:
Es funktioniert in dem ganzen Feld nicht...wende ich die entsprechenden Operatoren auf eine andere Spalte an funktioniert es.
Works for me:
AndreasCode:test=*# create table log (t text); CREATE TABLE test=*# create table log_2 (t text); CREATE TABLE test=*# create or replace rule r_log as on insert to log where new.t ~ '.*foo.*' do also insert into log_2 values (new.t); CREATE RULE test=*# insert into log values ('bla'); INSERT 0 1 test=*# insert into log values ('bla foo bla'); INSERT 0 1 test=*# select * from log_2; t ------------- bla foo bla (1 Zeile) test=*# select version(); version ----------------------------------------------------------------------------------------------- PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7) (1 Zeile)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen