Jain. Der Unterschied ist, dass ich einem User die Berechtigung geben kann nur eine SP auszuführen. Wenn ich diese SP später mal bearbeite kann ich alles an einer Stelle ( der SP ) ändern. SQL Injection. Rückgabe von leeren Resultsets etc.
Edit:
Das mit den Webservices vorhin war unglücklich ausgedrückt. Alles ein wenig stressig derzeit und hab Unsinn erzählt.
Die DB liegt auf einem rootserver. Die DB soll ins internet abgeschottet sein.
Das heißt in zukunft soll alles über Webservices laufen.
Ich arbeite mit Delphi.
Derzeit: Delphi greift direkt auf DB zu.
Demnächst: Delphi greift auf Webservice zu. Webservice greift auf DB zu.
Nun arbeite ich derzeit allerdings direkt mit Recordsets in Delphi. Ein Webservice kann mir aber nur rudimentäre Datentypen zurückgeben. Das höchste der Gefühle sind Arrays von Basisdatentypen.
Um meine Zugriffsstruktur aber nicht sofort ändern zu müssen, da ich dafür grade keine Zeit habe, will ich wenigstens die DB Zugriffe mit SPs verschleiern.
Daher brauche ich quasi 4 SPs. Am besten heute noch umgesetzt

sp_Select(Inputstatement) : Resultset;
sp_Insert(Inputstatement) : Insert_id;
sp_Update(Inputstatement) : Void;
sp_Delete(Inputstatement) : Void;
Sollte klar sein, was die jeweils machen.
Ich finde nichts. Mir fehlt mein @@IDENTITY aus Mysql, weil Currval() mit der benannten Sequence arbeitet. also muss ich die immer mit übergeben.
Hab ich im Inputstatement nen string stehen, dann lässt sich grade nichts escapen. ich bin frustriert ...