else 구문 오류 인 경우 저장 프로 시저

Soner Joy

내 프로젝트에서 처음으로 저장 프로 시저를 사용하려고합니다. 그래서 "if", "else"를 사용하려고하면 구문 오류가 발생합니다.

NewProductId가 "0"또는 null이면 업데이트하고 싶지 않습니다. 그렇지 않으면 내 NewProductId를 업데이트하고 싶습니다.

ALTER PROCEDURE MyProcedured
(
@CustomerId INT,
@CustomerName VARCHAR(80),
@NewProductId INT
)
AS
BEGIN
UPDATE CUSTOMERS
SET    
CustomerName =@CustomerName ,

if(@ProductId !=null && @ProductId !=0)
{
ProductId =@NewProductId 
}

WHERE CustomerId = @CustomerId 
END
스티브 챔버스

두 개의 다른 언어 (C #와 SQL)를 혼합하고있는 것 같습니다. 이를 위해 SQL CASE문을 사용하는 것이 좋습니다 .

ALTER PROCEDURE MyProcedured
(@CustomerId INT,
 @CustomerName VARCHAR(80),
 @NewProductId INT)
AS
BEGIN
    UPDATE CUSTOMERS
    SET CustomerName = @CustomerName,
        ProductId = CASE WHEN @ProductId IS NOT NULL AND ProductId <> 0
                         THEN @NewProductId
                         ELSE ProductId
                    END
    WHERE CustomerId = @CustomerId 
END

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

PHPmyadmin 저장 프로시저 구문 오류 if else

저장 프로 시저의 ELSE STATEMENT 인 경우

저장 프로 시저 구문 오류

MySQL 저장 프로 시저 테이블이 있는지 확인한 다음 구문 오류 변경

SQL 코드, 로그인 저장 프로 시저의 구문 오류

SQL Server : 저장 프로 시저에서 다음이 ELSE 인 경우

MySQL / MariaDB 저장 프로 시저 구문 오류 문제 해결

SQL Server 저장 프로 시저 실행시 구문 오류

MySQL 서버 저장 프로 시저 구문 오류

TSQL 저장 프로 시저 구문 오류

저장 프로시저 생성 중 MySQL 구문 오류

저장 프로 시저의 MySQL 구문 오류 디버깅

Alembic을 사용한 저장 프로 시저 : MySQL 구문 오류

저장 프로 시저 생성-구문 오류

MySQL의 저장 프로 시저 구문 오류

저장 프로 시저를 만드는 MySQL 구문 오류

MySql 저장 프로 시저 매개 변수-구문 오류

저장 프로 시저의 MySQL 구문 오류

MySQL 저장 프로 시저 구문 오류

MySQL 저장 프로 시저 구문 오류

값에 대한 SQL Server 저장 프로 시저 구문 오류

Liquibase 저장 프로시저에서 SQL 구문 오류 발생

구문 오류로 인해 저장 프로 시저를 호출 할 수 없습니다.

컴파일 오류를 제공하는 if else 문을 사용하여 저장 프로시저 만들기

다른 저장 프로 시저의 결과가 0 인 경우

MySQL 저장 프로 시저 케이스 문 구문 오류-계속

저장 프로 시저 및 함수 변경시 오류

조인 작업 중 저장 프로 시저 오류

왼쪽 외부 조인 저장 프로 시저 오류