id
(유형이 NUMBER
) 및 Name
(유형이 VARCHAR2
) 인 Users
테이블이 있습니다. 모든 열은 다음과 같이 내가 하나 개의 매개 변수 (새 이름)에 걸릴 SQL 프로 시저를 생성매개 변수를 통해 값을 전달하지 않고 열을 값에 삽입 하시겠습니까?
비 - 널 (NULL) :
CREATE OR REPLACE PROCEDURE insert_new_user
(
this_name VARCHAR2;
)
AS
BEGIN
INSERT INTO Users
VALUES (this_name);
COMMIT;
END;
/
절차는 컴파일하지만 오류가 다음과 같이 오류 ORA-00947을 :하지 충분한 가치.
BEGIN
insert_new_user ('Bob');
END
/
그것은 PL/SQL 컴파일 오류가 발생 다음과 같이
나는 그것을 실행하는 경우.
id
열을 매개 변수를 통해 전달하지 않고 자동으로 다음 번호로 설정하려면 어떻게해야합니까? Bob
새로운 인 경우
ID 이름
1 아담
2 벤
3 밥
:
이상적인 출력은 시나리오 등이 될 것입니다 사용자 행이 user
표 및 3
은 id
열에 자동으로 추가 된 번호입니다.
ID 열은 ID 열입니까? –
예, PK입니다 – 5120bee
기본 키와 ID가 동일하지 않습니다. 식별 컬럼 값은 자동 증가입니다. id 열이 기본 키이지만 자동 증분이 아닌 경우 테이블에 행을 삽입 할 때 id 열이 값을 제공해야합니다. 아래 @Dan의 대답은 자동 증분 열에 대한 자세한 내용을 제공해야합니다. –