자동 증분되지 않은 테이블에서 마지막으로 추가 된 ID를 어떻게 찾습니까?

아딘 시자 미자

에 마지막으로 추가 된 요소의 ID는 어떻게 얻습니까? 웹 검색에서 @@ IDENTITY 및 IDENTITY_SCOPE ()를 사용할 수 있지만 추가 / 속할 때만 사용할 수 있음을 발견했습니다. 다음을 시도했지만 작동하지 않습니다.

CREATE TABLE Products
 (PT_ID int PRIMARY KEY, Name nvarchar(20))

 CREATE TABLE Storage(ST_ID int Primary key,Info nvarchar(20))

 CREATE TABLE ProductStorageMM
 (ST_ID int CONSTRAINT S_FK FOREIGN KEY REFERENCES Storage(ST_ID ),
 PT_ID int CONSTRAINT P_FK FOREIGN KEY REFERENCES Products(PT_ID ),
 Status int not null,
 PRIMARY KEY (ST_ID ,PT_ID )
 )

위의 표는 실험을위한 것으로, Product 테이블에 값을 추가 할 때 The storages에있는 해당 제품의 모든 값을 자동으로 0으로 설정하려고합니다.

     CREATE PROCEDURE AddingProduct 
     (@PID int ,@NAME nvarchar(20))
     AS BEGIN
     INSERT INTO Products(PT_ID,Name)
     VALUES(@PID,@NAME)

     INSERT INTO PSKT (PT_ID,ST_ID,Status)
     SELECT PTT.PT_ID ,STT.ST_ID,0
     FROM (SELECT * FROM Storage) AS STT, 
          (SELECT * FROM Products WHERE PT_ID=SCOPE_IDENTITY()) AS PTT;

 END

절차가 작동하지 않습니다. 내가 뭘 잘못하고 있습니까?

그만큼

내가 뭔가를 놓치고 있습니까? @PID가 마지막으로 사용 된 ID가 아닙니까? @@ IDENTITY 및 SCOPE_IDENTITY는 자동 증가 ID에 사용됩니다. 여기서 자동 증가를 표시하지 않고 절차에 ID를 전달합니다. 그러면 STORAGE의 모든 행과 함께 전달 된 @PID에 대한 행이 PSKT에 삽입됩니다.

-> ID가 매개 변수를 통해 전달되는 주어진 코드

CREATE PROCEDURE AddingProduct 
     (@PID int ,@NAME nvarchar(20))
     AS BEGIN
     INSERT INTO Products(PT_ID,Name)
     VALUES(@PID, @NAME)

     INSERT INTO PSKT (PT_ID,ST_ID,Status)
     SELECT @PID ,STT.ST_ID,0
     FROM Storage STT

 END

-> 자동 증가 및 @@ identity를 사용한 예

CREATE PROCEDURE AddingProduct 
     (@NAME nvarchar(20))
     AS BEGIN
     INSERT INTO Products(Name) --< identity is inserted through auto-increment
     VALUES(@NAME)

     set @pid = @@identity  --< we need to get the identity created in the previous step for the next step.

     INSERT INTO PSKT (PT_ID,ST_ID,Status)
     SELECT @PID ,STT.ST_ID,0
     FROM Storage STT

종료

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

어떻게 그룹화 된 MySQL의 테이블에서 마지막 값의 증가를 찾는 방법은?

분류에서Dev

'MySQL에서 마지막으로 업데이트 된 행의 ID 가져 오기'트릭은 어떻게 작동합니까?

분류에서Dev

"식별"이 작동하지 않기 때문에 이러한 테이블에 자동 증가 ID를 추가하려면 어떻게해야합니까?

분류에서Dev

mysql, java-한 테이블에서 마지막으로 삽입 된 자동 증가 ID를 가져 와서 다른 테이블에 다시 삽입

분류에서Dev

마지막 행이 삭제 된 경우 자동 증가는 순차적으로 증가하지 않습니다.

분류에서Dev

마지막으로 추가 된 지점에서 프로그램이 그리기 시작하지 않도록하려면 어떻게해야합니까?

분류에서Dev

여러 회사의 테이블에서 마지막으로 게시 된 뉴스를 가져옵니다

분류에서Dev

txt 파일에서 문자가 마지막으로 사용 된 시간을 어떻게 찾을 수 있습니까?

분류에서Dev

마지막 명령을 사용하지 않고 사용자가 마지막으로 로그인 한시기를 어떻게 알 수 있습니까?

분류에서Dev

할당되지 않은 공간에서 확장 된 공간으로 어떻게 추가 할 수 있습니까?

분류에서Dev

OnClick은 마지막으로 추가 된 자식에 대해서만 작동합니다.

분류에서Dev

마지막으로 실행 된 PID를 기본 프롬프트 문자열에 어떻게 연결합니까?

분류에서Dev

동적으로 생성 된 테이블은 마지막으로 추가 된 테이블 데이터 만 표시합니다.

분류에서Dev

Laravels 작업 예약은 마지막으로 완료된 날짜를 유지하지 않고 어떻게 작동합니까?

분류에서Dev

다른 테이블에서 행이 추가 / 이동 된 테이블 데이터 안에 텍스트 상자를 어떻게 넣을 수 있습니까?

분류에서Dev

마지막으로 추가 된 항목의 인스턴스를 검색하려면 어떻게합니까

분류에서Dev

git diff를 사용하여 추가 된 줄 (변경되지 않음)을 어떻게 찾을 수 있습니까?

분류에서Dev

mysql에서 ID가 테이블의 다른 행에서 참조되지 않는 행을 어떻게 찾습니까?

분류에서Dev

테이블에서 마지막으로 삽입 된 행을 가져 오는 방법은 무엇입니까?

분류에서Dev

동적으로 구성된 테이블에 헤더를 추가하려면 어떻게해야합니까?

분류에서Dev

Android에서 마지막으로 삽입 된 레코드를 어떻게 얻을 수 있습니까?

분류에서Dev

정수만 키로 사용하는 경우 localstorage에서 마지막으로 삽입 된 키를 어떻게 가져올 수 있습니까?

분류에서Dev

Windows가 마지막으로 다시 시작된시기를 어떻게 알 수 있습니까?

분류에서Dev

마지막으로 추가 된 하위보기를 숨기지 않고보기에 여러 하위보기를 추가하는 방법은 무엇입니까?

분류에서Dev

사용자를 기반으로 마지막으로 추가 된 행을 업데이트하는 방법은 무엇입니까?

분류에서Dev

메모장에서 마지막 문자 "A"가있는 레코드를 어떻게 찾을 수 있습니까? ++

분류에서Dev

사용자에 대해 마지막으로 삽입 된 값을 어떻게 얻을 수 있습니까?

분류에서Dev

mysql 테이블에서 마지막으로 삽입 된 ID 가져 오기

분류에서Dev

Chrome이 마지막으로 업데이트 된시기를 어떻게 알 수 있습니까?

Related 관련 기사

  1. 1

    어떻게 그룹화 된 MySQL의 테이블에서 마지막 값의 증가를 찾는 방법은?

  2. 2

    'MySQL에서 마지막으로 업데이트 된 행의 ID 가져 오기'트릭은 어떻게 작동합니까?

  3. 3

    "식별"이 작동하지 않기 때문에 이러한 테이블에 자동 증가 ID를 추가하려면 어떻게해야합니까?

  4. 4

    mysql, java-한 테이블에서 마지막으로 삽입 된 자동 증가 ID를 가져 와서 다른 테이블에 다시 삽입

  5. 5

    마지막 행이 삭제 된 경우 자동 증가는 순차적으로 증가하지 않습니다.

  6. 6

    마지막으로 추가 된 지점에서 프로그램이 그리기 시작하지 않도록하려면 어떻게해야합니까?

  7. 7

    여러 회사의 테이블에서 마지막으로 게시 된 뉴스를 가져옵니다

  8. 8

    txt 파일에서 문자가 마지막으로 사용 된 시간을 어떻게 찾을 수 있습니까?

  9. 9

    마지막 명령을 사용하지 않고 사용자가 마지막으로 로그인 한시기를 어떻게 알 수 있습니까?

  10. 10

    할당되지 않은 공간에서 확장 된 공간으로 어떻게 추가 할 수 있습니까?

  11. 11

    OnClick은 마지막으로 추가 된 자식에 대해서만 작동합니다.

  12. 12

    마지막으로 실행 된 PID를 기본 프롬프트 문자열에 어떻게 연결합니까?

  13. 13

    동적으로 생성 된 테이블은 마지막으로 추가 된 테이블 데이터 만 표시합니다.

  14. 14

    Laravels 작업 예약은 마지막으로 완료된 날짜를 유지하지 않고 어떻게 작동합니까?

  15. 15

    다른 테이블에서 행이 추가 / 이동 된 테이블 데이터 안에 텍스트 상자를 어떻게 넣을 수 있습니까?

  16. 16

    마지막으로 추가 된 항목의 인스턴스를 검색하려면 어떻게합니까

  17. 17

    git diff를 사용하여 추가 된 줄 (변경되지 않음)을 어떻게 찾을 수 있습니까?

  18. 18

    mysql에서 ID가 테이블의 다른 행에서 참조되지 않는 행을 어떻게 찾습니까?

  19. 19

    테이블에서 마지막으로 삽입 된 행을 가져 오는 방법은 무엇입니까?

  20. 20

    동적으로 구성된 테이블에 헤더를 추가하려면 어떻게해야합니까?

  21. 21

    Android에서 마지막으로 삽입 된 레코드를 어떻게 얻을 수 있습니까?

  22. 22

    정수만 키로 사용하는 경우 localstorage에서 마지막으로 삽입 된 키를 어떻게 가져올 수 있습니까?

  23. 23

    Windows가 마지막으로 다시 시작된시기를 어떻게 알 수 있습니까?

  24. 24

    마지막으로 추가 된 하위보기를 숨기지 않고보기에 여러 하위보기를 추가하는 방법은 무엇입니까?

  25. 25

    사용자를 기반으로 마지막으로 추가 된 행을 업데이트하는 방법은 무엇입니까?

  26. 26

    메모장에서 마지막 문자 "A"가있는 레코드를 어떻게 찾을 수 있습니까? ++

  27. 27

    사용자에 대해 마지막으로 삽입 된 값을 어떻게 얻을 수 있습니까?

  28. 28

    mysql 테이블에서 마지막으로 삽입 된 ID 가져 오기

  29. 29

    Chrome이 마지막으로 업데이트 된시기를 어떻게 알 수 있습니까?

뜨겁다태그

보관