Seite 2 von 2
Verfasst: Mo Dez 11, 2006 5:09 pm
von miboe
Okay, dann gehts weiter wie folgt:
Ich gehe davon aus, daß wir von IBexpert als DB-Manager sprechen und beziehe mich darauf.
Den von Admin geposteten Text mußt Du in das eigentliche Codefenster der neuen Prozedur kopieren. Zusätzlich mußt Du im Kopfbereich des Fensters alle Variablen aus der Prozedur deklarieren. Die Variablen erkennst Du im Code an dem vorangestellten Doppelpunkt, also z.B.
Als was Du die deklarieren mußt kannst Du der Definition der Tabelle BSA entnehmen, die beiden hier genannten Variablen sind z.B. Integers. Die Notiz ein Varchar(xx)
So, denn mal weiterhin viel Spaß beim Basteln
Gruß
Michael
Verfasst: Mo Dez 11, 2006 5:50 pm
von admin
Hier die Prozedur als Ganzes - bezieht sich aber jetzt immer auf das Land mit der ID 1, ggf. ersetzen:
Code: Alles auswählen
CREATE PROCEDURE P_IMP_BADR_BPLZ
AS
DECLARE VARIABLE BPLZ1_ID INTEGER;
DECLARE VARIABLE BADR_ID INTEGER;
DECLARE VARIABLE NOTIZ VARCHAR(100);
BEGIN
FOR SELECT ID, NOTIZ
FROM BADR
WHERE BPLZ_ID_LANDPLZ IS NULL
INTO :BADR_ID, :Notiz
DO
BEGIN
BPLZ1_ID = NULL;
SELECT A.ID
FROM BPLZ A
WHERE A.ID > 0 AND
A.MASKENKEY = :Notiz AND
A.BLAND_ID_LANDKENNZ = 1
INTO :BPLZ1_ID;
IF (BPLZ1_ID IS NULL) THEN
BEGIN
BPLZ1_ID = GEN_ID(GEN_BPLZ,1);
INSERT INTO BPLZ (
ID,
MASKENKEY,
BLAND_ID_LANDKENNZ,
ORT,
PLZ,
VORWAHL,
GEBIET)
VALUES (
:BPLZ1_ID,
'D ' || :Notiz,
1,
'Test-Inland' || 1,
:notiz,
'0921',
NULL);
END
UPDATE BADR
SET BPLZ_ID_LANDPLZ = :BPLZ1_ID
WHERE ID = :BADR_ID;
END
END
Verfasst: Di Dez 12, 2006 8:49 am
von jamesplate
Ok!
Alles so weit gemacht und schon kommt in Zeile 1 ein neuer Fehler:
woran liegt das?
Vielen Dank für die antworten immer, würde sonst absolut nicht mehr weiterkommen.
Verfasst: Di Dez 12, 2006 9:56 am
von jamesplate
So, mit dem Skript das hat jetzt ändlich geklappt!!!!
Funktioniert und zeigt keine Fehler!
Der Haken ist nur, dass noch immer keine Veränderung stattgefunden hat!Es ist immer noch keine PLZ und Ortschaft drin.
Gruß Philipp
Verfasst: Di Dez 12, 2006 10:44 am
von jamesplate
Ok, jetzt hats irgendwie doch funktioniert, warum keine Ahnung!
Aber folgendes:
Obwohl die PLZ existieren steht überall Test-Inland als Ortschaft drin!
Jetzt versteh ich gar nix mehr, warum denn?
Mühsamm ernährt sich das Eichhörnchen
Gruß Philipp
Verfasst: Mi Dez 13, 2006 9:52 am
von admin
Was stand denn im Notizfeld? Bitte um ein, zwei Beispiele.