트랜잭션 테이블을 업데이트하는 저장 프로 시저를 작성하고 있습니다.SQL Server 2005 저장 프로 시저
는 나는 출하를 업데이트하고있어 경우에 나는 한 번 (선적, 영수증 또는 폐기)에서 하나 개의 트랜잭션 유형을 업데이트됩니다
, 내가 값을 전달하고 다른 두 개의 빈을 떠날 것이다.
전달하는 값이 NULL (또는 0 중 더 쉬운 것) 일 때 필드를 업데이트하도록 저장 프로 시저를 작성하려면 어떻게해야합니까?
CREATE PROCEDURE [dbo].[sp_UpdateTransaction]
-- Add the parameters for the stored procedure here
@ID int,
@disposalID int,
@shipID int,
@recID int,
as
begin
update tblX
set
disposalID = COALESCE(@disposalID, disposalID)
receiptID = COALESCE(@recID, receiptID)
shipmentID = COALESCE(@shipID,shipmentID)
where ID = @sID
END
COALESCE
가 작동하지 않는 것
은?
나는군요 : 근처
의 구문이 잘못되었습니다 'receiptID을'.
나는 :(
감사합니다 이유를 볼 수 없습니다!
** 어떤 데이터베이스 시스템, 어떤 버전을 사용하려고했다 ?? ** 저장 발동이 업체간에 이식하지 않고, 어떤을 위해 SQL 표준위원회에 의해 충분히 표준화되지 모든 데이터베이스 시스템에서 작동하는 의미있는 "일반적인"대답 ..... –
SQL 2005을 사용 중입니다. –
아니요, Microsoft ** SQL ** 서버 ** 2005를 사용하고 있습니다. [SQL] (http :// /en.wikipedia.org/wiki/SQL)은 MS SQL Server, Oracle DBMS, IBM DB2, MySQL, PostgreSQL, Interbase에 의해 구현되는 표준 언어입니다. 따라서이 태그는 일반, 공급 업체 독립적 질문. – rsenna