Und wenn das darüber geordnete Statement in keiner Transaktion ausgeführt wird?
Vielleicht verstehe ich das auch nur nicht richtig.
Ich poste einfach mal pseudo Code.
Ich könnte in meinem Anwendungscode folgendes Statement zusammen bauen und ausführen.
Code:
-
- BEGIN;
- INSERT INTO anschriften(name1, name2) VALUES('oliver', 'denter') -- Hier jetzt den Primary-Key holen und
- INSERT INTO adressen(suchname, adressnummer, anschriftenid) values ('denter', '10001', idAusVorherigemStatement);
- COMMIT;
-
besser gefallen würde mir aber, da ich dann in meinem Anwendungscode nur FUNCTIONS rufen kann eine FUNCTION ala
Code:
-
- CREATE FUNCTION addAdr
- BEGIN;
- INSERT INTO anschriften(name1, name2) VALUES('oliver', 'denter') -- Hier jetzt den Primary-Key holen und
- INSERT INTO adressen(suchname, adressnummer, anschriftenid) values ('denter', '10001', idAusVorherigemStatement);
- COMMIT;
-
was jedoch mit einem Fehler beim erzeugen der FUNCTION quittiert wird.
Bedeutet das folgende FUNCTION macht genau das gleiche wie das obige, nicht funktionierende Beispiel?
Code:
-
- CREATE FUNCTION addAdr
- INSERT INTO anschriften(name1, name2) VALUES('oliver', 'denter') -- Hier jetzt den Primary-Key holen und
- INSERT INTO adressen(suchname, adressnummer, anschriftenid) values ('denter', '10001', idAusVorherigemStatement);
-
Folgendes möchte ich in meinem Anwendungscode nämlich nicht machen.
Wäre ein komplettes Statement (pseudo-Code)
Code:
-
- string sqlQuery = "BEGIN; " +
- "addAdr();
- "COMMIT;"
- SqlObj.Exec(sqlQuery)
-