Med*_*Man 2 sql t-sql sql-server
我正在努力学习数据库; 所有评论都表示赞赏.我有下表.
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
)
Run Code Online (Sandbox Code Playgroud)
我想写一个更新行的存储过程.我想存储过程看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
调用者提供他想要行所具有的新信息.我知道有些领域并不完全准确或准确; 我这样做主要是为了学习.
当您阅读上述TSQL时,我是否有任何严重的错误让您感到畏缩?
不是真的"严重",但我注意到你的表的字符串字段被设置为NVARCHAR(50)的数据类型,但你的存储过程参数是NVARCHAR(20).这可能引起关注.通常,存储过程参数将匹配相应字段的数据类型和精度.
| 归档时间: |
|
| 查看次数: |
16965 次 |
| 最近记录: |