Я пытаюсь изучить базу данных самостоятельно; все ваши комментарии оценены. У меня есть следующая таблица.Обновление таблицы из хранимой процедуры
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
)
Я хотел бы написать хранимую процедуру, которая обновляет строку. Я полагаю, что хранимая процедура будет выглядеть примерно так:
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
абонент предоставляет новую информацию, которую он хочет строку иметь. Я знаю, что некоторые из полей не совсем точны или точны; Я делаю это в основном для обучения.
- У меня есть синтаксическая ошибка с командами SET в части UPDATE, и я не знаю, как ее исправить.
- Является ли хранимая процедура, я пишу процедуру, которую вы бы писали в реальной жизни? Это антипаттерн?
- Есть ли серьезные ошибки, которые я сделал, которые просто заставляют вас съеживаться, когда вы читаете выше TSQL?
Хорошо, что вы пытаетесь учиться, но для таких вещей, как синтаксические ошибки, вы должны сначала проверить MSDN: http://msdn.microsoft.com/en-us/library/ms177523.aspx. Даже если нотация BNF может быть сложной, пока вы не привыкнете к ней, это необходимо. По мере усложнения ситуации вам придется прибегать к документации все чаще и чаще. –
thx за слово поощрения. Я приложу к этому больше усилий. – MedicineMan