반응형
다음 예에서는 EXECUTE가 변수가 포함된 동적으로 작성된 문자열을 처리하는 방법을 보여 줍니다. 이 예에서는 AdventureWorks2008R2 데이터베이스에 있는 모든 사용자 정의 테이블의 목록을 유지하는 tables_cursor 커서를 만든 다음 해당 목록을 사용하여 테이블의 모든 인덱스를 다시 작성합니다.
USE AdventureWorks2008R2; GO DECLARE tables_cursor CURSOR FOR SELECT s.name, t.name FROM sys.objects AS t JOIN sys.schemas AS s ON s.schema_id = t.schema_id WHERE t.type = 'U'; OPEN tables_cursor; DECLARE @schemaname sysname; DECLARE @tablename sysname; FETCH NEXT FROM tables_cursor INTO @schemaname, @tablename; WHILE (@@FETCH_STATUS <> -1) BEGIN; EXECUTE ('ALTER INDEX ALL ON ' + @schemaname + '.' + @tablename + ' REBUILD;'); FETCH NEXT FROM tables_cursor INTO @schemaname, @tablename; END; PRINT 'The indexes on all tables have been rebuilt.'; CLOSE tables_cursor; DEALLOCATE tables_cursor; GO
반응형
'데이터베이스' 카테고리의 다른 글
[SQL서버] OpenQuery를 사용한 INSERT, UPDATE, DELETE 처리 (0) | 2011.12.07 |
---|---|
[SQL서버] EXECUTE를 사용하여 연결된 서버의 Oracle 데이터베이스 쿼리 (0) | 2011.11.29 |
Oracle 제약조건 걸린 테이블 확인 (0) | 2011.11.02 |
[SQL서버] ROW_NUMBER() 함수 (0) | 2011.09.02 |
SQL서버 2008 백업 (0) | 2011.08.25 |