Mysql을 처음 사용했습니다. 제품의 가격을 업데이트하는 저장 프로 시저를 만들고 싶습니다. jdbc를 사용하여이 저장 프로 시저를 구현했습니다. 그러나 저장 프로 시저 명령이 여러 번 실패했습니다. 다음은 mysql 코드이다. "p"는 제품을 의미하고 "des"는 가격의 하락을 의미하며 "pro"는 제품 이름을 의미합니다. Java의 CallableStatement는 제품의 가격과 그에 대한 감소를 제공합니다. 따라서 저장 프로 시저가 해당 제품의 가격을 낮 춥니 다.Mysql 명령이 저장 프로 시저를 구현할 수 없습니다.
`CREATE PROCEDURE updateP(IN pro CHAR(10), IN des INT)`
`
BEGIN`
UPDATE customers
`DECLARE p INT;`
`SET p = (SELECT price FROM customers WHERE product= pro);`
`SELECT p;`
`p = p - des;`
END
저장 프로 시저가 적합하지 않습니다. 1. 당신은 customers라는 테이블에서 가격을 선택하고있다. (맞습니까?) 2.'p = p-des'는'CHAR'에서 수행 된 모든 연산입니다. 여러분이 빼기를 원하면 숫자 값을 만들어야합니다 . 3. 나는 당신이 어떤 시점에서 테이블을 업데이트하고 어디서나'update' 문을 보지 않는다고 가정합니다. 조금 더 나은 목표를 명확히하십시오. – Icarus
회신을위한 Thx입니다. 고객이 테이블이고 가격이 테이블의 속성입니다. – user1015798