Tôi có một bảng có chứa một vài cột được liên kết với chế độ xem lưới.Làm thế nào tôi có thể viết hai truy vấn cập nhật trong thủ tục được lưu trữ duy nhất trong SQL Server 2008
Trong chế độ xem lưới đó, tôi có tùy chọn chỉnh sửa để cập nhật các cột. Trong tình huống đó, tôi cần phải viết hai thủ tục lưu trữ cập nhật có nghĩa là tôi chọn tất cả các cột mong đợi AudiotoName
, chọn một cột khác tất cả các cột được cập nhật để tăng một truy vấn cập nhật nhưng khi tôi chọn bảng trong đó có cột AudiotoName
chỉ chỉnh sửa để chọn cột đó nó sẽ nâng cao thủ tục lưu trữ thứ hai được cập nhật. Tôi đã thử nhưng nó không làm việc đúng cách bất cứ ai có thể giúp tôi ra ngoài.
Mã của tôi:
ALTER PROCEDURE up_file
(@ModuleID int,
@SubjectID int,
@Physician varchar(500) = '',
@AuditoName varchar(300) = '',
@AuditoType varchar(50) = '',
@AudioPath varchar(2000) = '',
@BaseDocumentName varchar(500) = '',
@BaseDocumentPath varchar(2000) = '',
@Createddate datetime,
@CreatedBy varchar(200) = '')
AS
BEGIN
IF @AuditoName = 'true' //select AuditoName column only raise this update query
BEGIN
UPDATE SubjectItems
SET ModuleID = @ModuleID,
SubjectID = @SubjectID,
Physician = '@Physician',
AuditoName = '@AuditoName',
AuditoType = '@AuditoType',
AudioPath ='@AudioPath',
BaseDocumentName = '@BaseDocumentName',
BaseDocumentPath = '@BaseDocumentPath'
WHERE AuditoName = @AuditoName
END
BEGIN //normal fields select raise this update query
UPDATE SubjectItems
SET ModuleID = @ModuleID,
SubjectID = @SubjectID,
Physician = '@Physician',
AuditoName = '@AuditoName',
AuditoType = '@AuditoType',
AudioPath ='@AudioPath',
BaseDocumentName = '@BaseDocumentName',
BaseDocumentPath = '@BaseDocumentPath'
WHERE ModuleID = @ModuleID
END
END
bất cứ ai có thể giúp tôi không?
cảm ơn bạn rất nhiều –