sql >> データベース >  >> RDS >> Sqlserver

プレーンADOを使用してSQLServerからビュー定義を取得する方法はありますか?

    SQL Serverのバージョンはどれですか?

    SQL Server 2005以降の場合、次のようなビューの作成に使用されるSQLスクリプトを入手できます。

    select definition
    from sys.objects     o
    join sys.sql_modules m on m.object_id = o.object_id
    where o.object_id = object_id( 'dbo.MyView')
      and o.type      = 'V'
    

    これにより、ビューの作成/変更に使用されるスクリプトを含む単一の行が返されます。

    表の他の列は、ビューがコンパイルされたときに配置されていたオプションについて説明しています。

    警告

    • ビューがALTERVIEWで最後に変更された場合、スクリプトはCREATEVIEWステートメントではなくALTERVIEWステートメントになります。

    • スクリプトは、作成されたときの名前を反映しています。更新されるのは、ALTER VIEWを実行するか、CREATEVIEWを使用してビューを削除して再作成する場合のみです。ビューの名前が変更されている場合(例:sp_rename )または所有権が別のスキーマに譲渡された場合、返されるスクリプトは元のCREATE /ALTERVIEWステートメントを反映します。オブジェクトの現在の名前は反映されません。

    • 一部のツールは出力を切り捨てます。たとえば、MS-SQLコマンドラインツールsqlcmd.exeは、255文字でデータを切り捨てます。パラメータ-y Nを渡すことができます Nで結果を取得するには chars。



    1. PostgreSQLのクラウドへの移行-Amazon、Google、Microsoftのソリューションの比較

    2. MariaDBでのSUBSTRING_INDEX()のしくみ

    3. SQL Server(T-SQL)のプロファイル内のデータベースメールアカウントのシーケンス番号を変更する方法

    4. MySQLエラー2014の原因他のバッファリングされていないクエリがアクティブな間はクエリを実行できません