PDA

View Full Version : SQL: Alter Table ohne Rückfragen



padawan
13-10-11, 08:50
Hallo,
AS400 V5R4, Win 7 Prof

Ich ändere per qry Feldnamen in einer Tabelle. Wie kann ich die Sicherheitsabfrage, daß es zu Datenverlust kommen kann, abschalten?

ALTER TABLE lib/opttest
ADD COLUMN ODAUF010 DEC (4, 2)
DROP COLUMN ODAUF009
ADD COLUMN ODAUF010BA DEC (4, 2)
DROP COLUMN ODAUF009BA

Danke.

Gruss
padawan

Fuerchau
13-10-11, 09:02
Ändern des Jobs auf
a) Standardantwort
b) Antwort durch SYSRPLY

Dies gilt dann allerdings nicht nur für die SQL-Frage.

padawan
13-10-11, 09:15
also, ich starte die QRY per CL und dann fragt mich die AS400:
(C I) Änderung der Datei OPTTEST kann zu Datenverlust führen.

Nachrichten-ID . . . . : CPA32B2 Bewertung . . . . . . : 99
Nachrichtenart . . . . : Anfrage
Sendedatum . . . . . . : 13.10.11 Sendezeit . . . . . . : 10:11:33

Nachricht . . . : (C I) Änderung der Datei OPTTEST kann zu Datenverlust
führen.
Ursache . . . . : Datei OPTTEST in der Bibliothek lib sollte geändert
werden. Entweder werden Felder gelöscht oder die Attribute der Felder haben
sich so geändert, dass entweder die Datengenauigkeit verlorengeht, Daten
abgeschnitten werden oder eine Zeichenumsetzung zum Ersetzen von Zeichen
führen kann. Die Nachricht CPD32CD enthält hierzu weitere Informationen.
Fehlerbeseitigung: Einen der folgenden Werte eingeben:
C -- Die Datei wird nicht geändert.
I -- Die Datei wird geändert und es können Daten verlorengehen.

Kann ich das vielleicht im CL mit MONMSG bewältigen?

Fuerchau
13-10-11, 09:30
Nein.
MONMSG wirkt nur auf Escape-Nachrichten (Abbruch).

Du musst schon in diesem Fall einen SYSRPLY-Eintrag mit Antwort "I" erstellen und deinen Job mit "CHGJOB INQMSGRPY(*SYSRPYL)" ändern, da die Default-Antwort der Nachricht leider "C" ist.

Andererseits frage ich mich, wieso du das ständig wiederholen musst.
Reicht eine einmalige Änderung der Tabelle nicht ?

padawan
13-10-11, 09:59
wie und wo wird denn ein SYSRPLY- Eintrag erstellt? Das kenne ich noch nicht.

andreaspr@aon.at
13-10-11, 10:08
Das kannst du mit dem Befehl WRKRPYLE machen.
Oder auch direkt mit ADDRPYLE.

lg Andreas

padawan
13-10-11, 10:43
Herr Fuerchau, Andreas,

tausend Dank, genau das war es. Hat prima geklappt.

Ein großes Dankeschön an Euch.

Gruss
padawan