PDA

View Full Version : View als Read Only?



cbe
07-08-08, 17:22
Hallo allerseits,

ich stehe ein bisschen auf dem Schlauch.
Eigentlich möchte ich nur was ganz einfaches:

create view X (...)
as select ... from Y

Aber man soll die View X nur lesend verwenden dürfen.
Gibts das nicht in SQL? sowas wie FOR READ ONLY?

Wäre für einen Tip dankbar - es ist schon zu spät am Abend...

Gruß
Christian

BenderD
07-08-08, 17:28
Hallo,

beim GRANT kann man das über Berechtigung lösen, oder durch Aufnahme eines Dummyfeldes aus einer anderen Datei, oder Verwendung einer Feldfunktion (upper o.ä.) wird die View generell read only.

D*B


Hallo allerseits,

ich stehe ein bisschen auf dem Schlauch.
Eigentlich möchte ich nur was ganz einfaches:

create view X (...)
as select ... from Y

Aber man soll die View X nur lesend verwenden dürfen.
Gibts das nicht in SQL? sowas wie FOR READ ONLY?

Wäre für einen Tip dankbar - es ist schon zu spät am Abend...

Gruß
Christian

cbe
07-08-08, 18:02
Hallo Dieter,

danke für die schnelle Antwort.
So richtig leicht ist das ja nicht...

Die Funktion UPPER oder so verhindert leider nicht, dass ich mit
DELETE FROM X
alle Sätze lösche. Das will ich ja gerade vermeiden.

Am besten gefällt mir noch die Verknüpfung mit einer anderen Dummy-Datei mit genau 1 Satz, das funktioniert prima:

create view X (...)
as select ... from Y, nur1satz

Nochmal vielen Dank!
Christian

BenderD
08-08-08, 07:50
für die 1 Satz Datei gibt es die SYSIBM.SYSDUMMY1, die nur einen Satz haben kann und deshalb Phoenix aus der Asche Sätze sicher vermeidet.
Der Delete wird auch durch group by oder distinct verhindert.
DROP und Co. geht natürlich unabhängig davon, der korrekte Weg ist da schon mit GRANT die notwendigen Berechtigungen zu vergeben.

D*B

Hallo Dieter,

danke für die schnelle Antwort.
So richtig leicht ist das ja nicht...

Die Funktion UPPER oder so verhindert leider nicht, dass ich mit
DELETE FROM X
alle Sätze lösche. Das will ich ja gerade vermeiden.

Am besten gefällt mir noch die Verknüpfung mit einer anderen Dummy-Datei mit genau 1 Satz, das funktioniert prima:

create view X (...)
as select ... from Y, nur1satz

Nochmal vielen Dank!
Christian

cbe
08-08-08, 13:31
für die 1 Satz Datei gibt es die SYSIBM.SYSDUMMY1...D*B

ist ja lustig, dass IBM genau dieselben Tricks verwendet...

Die Datei muss ich mir merken, danke für den Tip!

Gruß
Christian

Pikachu
08-08-08, 13:50
ist ja lustig, dass IBM genau dieselben Tricks verwendet...

Welche Tricks?

cbe
08-08-08, 15:03
naja, eine Datei, die definiert genau 1 Satz enthält und SYSDUMMY1 heißt klingt schon nach tricky, oder?
Aber jetzt wirds ein wenig off topic...

woki
08-08-08, 15:53
naja, eine Datei, die definiert genau 1 Satz enthält und SYSDUMMY1 heißt klingt schon nach tricky, oder?
Aber jetzt wirds ein wenig off topic...
Hier noch ein paar Infos zur sysdummy1:
ist die DB2-Tabelle SYSIBM.SYSDUMMY1 noch state-of-the-art (http://www.mayeruli.de/db2/sysdummy1.html)

BenderD
08-08-08, 17:12
... die sich nicht auf die DB2 auf der AS400 beziehen (soviel nur zu UDB). Wer sich anschaut, was bei einem SET auf einer AS/400 passiert, wird sich wundern - da wird ebenfalls eine Dummy Tabelle gelesen...

D*B


Hier noch ein paar Infos zur sysdummy1:
ist die DB2-Tabelle SYSIBM.SYSDUMMY1 noch state-of-the-art (http://www.mayeruli.de/db2/sysdummy1.html)