タグ: SQLServer コメントスレッドの表示切替 | キーボードショートカット

  • 西川 洋平 5:52 PM | 2013年7月11日 パーマリンク |
    タグ: SQLServer   

    特定スキーマ変更用SQL抽出 

    特定のスキーマを変更するSQLを作るSQL

    SELECT
    	O.type as [Object type],
    	O.type_desc as [Object type_desc],
    	S.name as [Schema name],
    	O.name as [Object name],
        'alter schema (変更後スキーマ名) transfer ' + S.name + '.' + O.name as [alter SQL]
    FROM
        sys.objects O
        INNER JOIN
        sys.schemas S ON
            O.schema_id = S.schema_id
        AND S.name = '(変更前スキーマ名)'
    --  WHERE O.type = 'U' -- オブジェクトタイプで絞りたい時
    
     
  • 西川 洋平 7:03 PM | 2013年5月25日 パーマリンク |
    タグ: , SQLServer   

    SQLServer ストアドプロシージャをGrepする 

    ストアドプロシージャ内をGrepしたいなぁと思ったら、あった。
    ネットからの拾いもの。

    --スカラ関数
    --@SpName : プロシージャの中味を取得するためのプロシージャ名
    Create Function fncFindSp (
    @SPName Varchar(255)
    )
    Returns Varchar(8000) As
    Begin
    
    Declare @SpBody Varchar(8000)
    Declare @RetText Varchar(8000)
    
    Set @SpBody = ''
    Set @RetText = ''
    
    Begin
    Declare Cur1 Cursor For
    
    Select syscomments.text
    From sysobjects
    Inner Join syscomments
    On sysobjects.id = syscomments.id
    Where sysobjects.xtype = 'P'
    And sysobjects.status >= 0
    And sysobjects.name = @SPName
    Order By
    syscomments.colid
    
    Open Cur1
    Fetch Next From Cur1 Into @SpBody
    
    While (@@Fetch_Status <> -1)
    begin
    If @SpBody <> ''
    Begin
    If RTrim(@RetText) = ''
    Begin
    Set @RetText = @SpBody
    End
    Else
    Begin
    Set @RetText = @RetText + @SpBody
    End
    End
    Fetch Next From Cur1 Into @SpBody
    End
    Close Cur1
    End
    Return @RetText
    End
    go
    
    --Grep用ストアド
    --@seachWord : ストアドプロシージャ内を検索する文字列
    Create Procedure spGrep
    @seachWord Varchar(255)
    As
    BEGIN
    select X.*
    from
    (
    Select
    sysobjects.[name] As ProcName ,
    dbo.fncFindSp(sysobjects.[name]) as ProcBody
    From sysobjects
    ) X
    where X.ProcBody like  '%'+@seachWord + '%'
    END
    

    実行

    EXEC dbo.spGrep '検索文字列'
    go
    

    参考⇒ここ

     
c
新規投稿作成
j
次の投稿 / 次のコメント
k
過去の投稿 / コメント
r
返信
e
編集
o
コメント表示 / 非表示
t
トップへ移動
l
ログインへ
h
ヘルプを表示 / 非表示
Shift + ESC
取り消し