집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server 임시 테이블 및 커서 사용 요약
이 글은 SQL Server 임시 테이블과 커서 사용법을 주로 소개합니다. 필요한 친구들이 참고할 수 있습니다.
임시 테이블
테이블과 영구 테이블은 유사하지만 임시 테이블은 tempdb에 저장되며 더 이상 사용되지 않으면 자동으로 삭제됩니다.
임시 테이블에는 로컬과 글로벌의 두 가지 유형이 있습니다.
둘의 비교:
로컬 임시 테이블의 이름은 기호(#)로 시작합니다.
현재 사용자 연결이 보이는 경우에만
사용자 인스턴스 연결이 끊어지면 자동으로 삭제됩니다.
전역 임시 테이블의 이름은 기호(##)로 시작합니다.
모든 사용자에게 표시됩니다.
모두인 경우 참조 사용자가 연결을 끊으면 테이블이 자동으로 삭제됩니다
실제로 로컬 임시 테이블은 tempdb에 고유한 이름이 있습니다
예를 들어 하나의 쿼리 분석기에 sa를 사용하여 로그인한 다음 sa를 사용하여 로그인합니다. 다른 쿼리 분석기로
두 쿼리 분석기 모두에서 다음 명령문을 허용합니다.
use pubs go select * into #tem from jobs
각각 2명의 사용자를 위한 2개의 로컬 임시 테이블을 생성했습니다
We You 다음 쿼리 문에서
SELECT * FROM [tempdb].[dbo].[sysobjects] where xtype='u'
가 임시 테이블의 존재를 확인하는 것을 볼 수 있습니다.
if object_id('tempdb..#tem') is not null begin print 'exists' end else begin print 'not exists' end
특별 팁:
1. 동적 sql 문에서 생성된 로컬 임시 테이블은 문 실행
후에 자동으로 삭제되므로 다음 문에서는 결과 집합
exec('select * into #tems from jobs') select * from #tems2. 저장 프로시저에 사용된 임시 테이블은 작업 완료 후 자동으로 삭제되지만
명시적으로 삭제하는 것이 시스템에 유익합니다
커서에는 로컬과 전역의 두 가지 유형이 있습니다.
로컬 커서: 선언 단계에서만 사용됩니다.
전역 커서: 선언 과정에서 사용할 수 있으며 외부 트리거
if CURSOR_STATUS('global','游标名称') =-3 and CURSOR_STATUS('local','游标名称') =-3 begin print 'not exists' end SELECT * FROM [tempdb].[dbo].[sysobjects] where xtype='u'임시 테이블 존재 여부 판단:
if object_id('tempdb..#tem') is not null begin print 'exists' end else begin print 'not exists' endSpecial 팁:
1. 동적 sql 문에서 생성된 로컬 임시 테이블은 문 실행
후에 자동으로 삭제되므로 다음 문에서는 결과 집합
exec('select * into #tems from jobs') select * from #tems2. 저장 프로시저에 사용된 임시 테이블은 작업 완료 후 자동으로 삭제되지만 명시적으로 삭제하는 것이 시스템에 유익합니다
ii. 커서
로컬 커서: 선언 단계에서만 사용됩니다.
전역 커서: 선언 과정에서 사용할 수 있으며 외부 트리거
존재 여부 판단:
if CURSOR_STATUS('global','游标名称') =-3 and CURSOR_STATUS('local','游标名称') =-3 begin print 'not exists' end SELECT * FROM [tempdb].[dbo].[sysobjects] where xtype='u'
if object_id('tempdb..#tem') is not null begin print 'exists' end else begin print 'not exists' end
후에 자동으로 삭제되므로 다음 문에서는 결과 집합
exec('select * into #tems from jobs') select * from #tems2. 저장 프로시저에 사용된 임시 테이블은 작업 완료 후 자동으로 삭제되지만
ii. 커서
커서에는 로컬과 전역의 두 가지 유형이 있습니다.
전역 커서: 선언 과정에서 사용할 수 있으며 외부 트리거
존재 판단:
if CURSOR_STATUS('global','游标名称') =-3 and CURSOR_STATUS('local','游标名称') =-3 begin print 'not exists' end
위 내용은 SQL Server 임시 테이블 및 커서 사용 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!