반응형
MySQL 로컬 변수
쿼리에 대한 MySQL 변수를 정의하고 초기화하려고 합니다.
다음 사항이 있습니다.
declare @countTotal int;
SET @countTotal = select COUNT(*)
from nGrams;
Netbeans에서 MySQL을 사용하고 있는데 오류가 있다고 합니다.내 오류는 무엇입니까?
이거 어떻게 고쳐요?
MySQL에는 두 가지 다른 유형의 변수가 있습니다.
로컬 변수(앞줄에 붙지 않는 변수)
@
)를 강력하게 입력하고 저장된 프로그램 블록의 범위를 지정합니다.구문 아래에 문서화된 바와 같이 다음 사항에 유의하십시오.DECLARE
복합문 내부에서만 허용되며 다른 문보다 먼저 시작해야 합니다.사용자 변수(접두사는 다음과 같습니다)
@
)를 느슨하게 입력하고 세션 범위를 지정합니다.이들은 선언할 필요도 없고 선언할 수도 없다는 점에 유의하십시오. 단지 이들을 직접 사용할 뿐입니다.
따라서 저장된 프로그램을 정의하고 실제로 "로컬 변수"를 원한다면 질문의 문구에 따라 다음을 삭제해야 합니다.@
성품을 갖추고 당신의DECLARE
문은 프로그램 블록의 시작 부분에 있습니다.그렇지 않으면 "user variable"을 사용하려면DECLARE
진술.
또한 쿼리를 하위 쿼리로 실행하려면 괄호 안에 쿼리를 둘러싸야 합니다.
SET @countTotal = (SELECT COUNT(*) FROM nGrams);
또는 다음을 사용할 수 있습니다.
SELECT COUNT(*) INTO @countTotal FROM nGrams;
한번 해보세요:-
select @countTotal := COUNT(*) from nGrams;
함수 예:
DROP FUNCTION IF EXISTS test;
DELIMITER $$
CREATE FUNCTION test(in_number INT) RETURNS INT
BEGIN
DECLARE countTotal INT;
SET countTotal = SELECT COUNT(*) FROM nGrams;
RETURN countTotal + in_number;
END $$
DELIMITER ;
DELECORE 구문에 따르면declare
시작... 끝 블록 안에 있어야 합니다
언급URL : https://stackoverflow.com/questions/13670659/mysql-local-variables
반응형
'source' 카테고리의 다른 글
기능에서 기능으로 파워셸의 명령줄 $args 전달 (0) | 2023.10.24 |
---|---|
네이티브 오브젝트를 확장하는 것이 나쁜 관행인 이유는 무엇입니까? (0) | 2023.10.24 |
설치 관리자가 파일을 인스턴스화할 수 없습니다...\KEY_XE.reg.파일이 존재하지 않는 것 같습니다. (0) | 2023.10.24 |
MySQL 클라이언트를 MySQLDB로 자동 재연결하는 방법은? (0) | 2023.10.24 |
숨겨진 오버플로가 있는 스팬에서 점("...")을 표시하려면 어떻게 해야 합니까? (0) | 2023.10.24 |