-
테이블의 속성이 변경되었을 때
혹은 컬럼 속성이 변경되었을 때
아니면 테이블의 용도나 정체(?)를 알 수 없을 때
관련된 sp를 확인하기 위해서 개인적으로 자주 사용하는 SQL 입니다.
특정 프로시저에서 사용하는 테이블 목록을 조회하는 SQL 문입니다.
-- 프로시저에서 사용하는 테이블 목록 ;WITH stored_procedures AS ( SELECT oo.name AS table_name, o.name, ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row FROM sysdepends d INNER JOIN sysobjects o ON o.id=d.id INNER JOIN sysobjects oo ON oo.id=d.depid WHERE o.xtype = 'P' AND o.name LIKE '%프로시저명%' ) SELECT name,Table_name FROM stored_procedures WHERE row = 1반대로 특정 테이블을 참조하는 프로시저 목록을 조회하는 SQL문 입니다.
-- 특정 테이블을 참조하는 프로시저 목록 ;WITH stored_procedures AS ( SELECT oo.name AS table_name, o.name, ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row FROM sysdepends d INNER JOIN sysobjects o ON o.id=d.id INNER JOIN sysobjects oo ON oo.id=d.depid WHERE o.xtype = 'P' AND oo.name = '테이블명' ) SELECT name,Table_name FROM stored_procedures WHERE row = 1댓글