MsSQL Find Usages Table Or Stored Procedure
Jun 07, 2016 pm 02:56 PM今天在修改數隻(是這個隻還是這個支啊 '_')一、二年前撰寫的storedprocedure(T-SQL)後發現, 要找出這些被異動的SP曾在那些的SP裡面有使用,或者某張資料表在那幾隻SP內使用,這還真是一件苦差事。 此時突然想起Visual Studio 內有個功能叫 FindUsages ,可
今天在修改數隻(是這個"隻"還是這個"支"啊 '_>') 一、二年前撰寫的stored procedure(T-SQL)後發現,
要找出這些被異動的SP曾在那些的SP裡面有使用,或者某張資料表在那幾隻SP內使用,這還真是一件苦差事。
此時突然想起 Visual Studio 內有個功能叫 FindUsages ,可以方便的找出Function 曾在那些程式中使用,
花了一個上午的時間,寫出功能相仿的T-SQL版的 FindUsages
SQL ServerCREATE PROCEDURE [dbo].[sp_FindUsages] (@ObjectName SYSNAME) AS BEGIN SET NOCOUNT ON; CREATE TABLE #Result([Id] INT IDENTITY, [ObjectName] VARCHAR(100), [Line] INT,[Text] NVARCHAR(max)); DECLARE @Id INT; DECLARE @Line INT; DECLARE @Name NVARCHAR(1024); DECLARE pl CURSOR FOR SELECT [name] FROM sys.procedures; OPEN pl; FETCH NEXT FROM pl INTO @Name; WHILE @@FETCH_STATUS = 0 BEGIN EXEC ('INSERT INTO #Result ([Text]) EXEC sp_helptext ' + @Name); SET @line = 7; DECLARE r CURSOR FOR SELECT Id FROM #Result WHERE ObjectName IS NULL; OPEN r; FETCH NEXT FROM r INTO @Id; WHILE @@FETCH_STATUS = 0 BEGIN SET @Line = @line + 1; UPDATE #Result SET Line = @Line,ObjectName = @Name WHERE Id = @id ; FETCH NEXT FROM r INTO @Id; END CLOSE r; DEALLOCATE r; FETCH NEXT FROM pl INTO @Name; END CLOSE pl; DEALLOCATE pl; SELECT * FROM #Result WHERE [Text] LIKE '%' + @ObjectName + '%'; DROP TABLE #Result; END --exec [sp_FindUsages] [spName]

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Ubuntu에서 PHP를 설치하고 MSSQL 연결을 구성하는 방법에 대한 자세한 가이드

Ubuntu 환경에서 MSSQL 데이터베이스를 지원하기 위해 PHP를 설치하는 단계에 대한 자세한 설명

OPPO Find X7은 걸작입니다! 이미지로 모든 순간을 포착하세요

OPPO X8 Ultra 코어 구성을 찾아보세요! Snapdragon 8 Gen4+ 초대형 배터리

Ubuntu에서 PHP 설치 및 MSSQL 데이터베이스 연결에 대한 전체 튜토리얼

집중적인 소식에 따르면 샤오미 15 울트라는 고배율 2억 화소 망원, K80 프로는 왼쪽 상단에 원형 카메라, 원플러스 13은 BOE의 새로운 베이스 소재를 사용하고, 파인드 X8은 핑크색으로 나온다.
