Aktualisierung einer Tabelle in einer Gespeicherten Prozedur

Ich versuche zu lernen-Datenbank auf meinem eigenen; alle Ihre Kommentare sind sehr geschätzt.
Ich habe die folgende Tabelle.

CREATE TABLE AccountTable
(
    AccountId INT IDENTITY(100,1) PRIMARY KEY,
    FirstName NVARCHAR(50) NULL,
    LastName NVARCHAR(50) NULL,
    Street NVARCHAR(50) NULL,
    StateId INT REFERENCES STATETABLE(StateId) NOT NULL
)

Möchte ich eine Gespeicherte Prozedur schreiben, die updates der Reihe. Ich kann mir vorstellen, dass die gespeicherte Prozedur würde wie folgt Aussehen:

CREATE PROCEDURE AccountTable_Update
       @Id          INT,
       @FirstName  NVARCHAR(20),      
  @LastName   NVARCHAR(20), 
  @StreetName NVARCHAR(20),
  @StateId  INT
  AS
BEGIN
UPDATE AccountTable 
  Set FirstName = @FirstName
  Set LastName = @LastName
  Set Street = @StreetName
  Set StateId = @StateId 
  WHERE AccountId = @Id
END

den Aufrufer stellt den neuen Informationen, dass er möchte, dass die Zeile zu haben. Ich weiß, dass einige der Felder sind nicht ganz korrekt oder genau; ich Tue dies vor allem für das lernen.

  1. Ich habe ein syntax-Fehler mit der SET-Befehle in der UPDATE-Teil, und ich weiß nicht, wie es zu lösen ist.
  2. Ist die gespeicherte Prozedur, die ich Schreibe eine Prozedur, die Sie schreiben würde im realen Leben? Ist das ein antipattern?
  3. Gibt es irgendeinen schwerwiegenden Fehler, die ich gemacht habe, nur lässt Sie zusammenzucken, wenn Sie Lesen, die über TSQL?
Gut ist, dass du versuchst zu lernen, aber für Dinge wie syntax-Fehler prüfen Sie zuerst die MSDN: msdn.microsoft.com/en-us/library/ms177523.aspx. Auch wenn die BNF-notation kann eine Herausforderung sein, bis Sie sich daran gewöhnt haben, ist ein muss. Als die Dinge werden noch komplizierter, Sie zu greifen, um die Dokumentation mehr und mehr oft.
thx für die Wort der Ermutigung. Ich werde mehr Aufwand auf diese als gut.

InformationsquelleAutor MedicineMan | 2009-07-29

Schreibe einen Kommentar