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

SQL Serverは、スキーマが正しく機能しないユーザー定義のテーブルタイプを作成します

    sys.objectsを調べる代わりに これらについては、sys.typesを確認する必要があります またはsys.table_types (これにより、type_table_object_idがさらに公開されます。 )。

    SELECT name,
           schema_id /*Will be the "test" schema id*/
    FROM   sys.types
    WHERE  is_table_type = 1
           AND name = 'MyUserTableType'
    

    ユーザー定義型を作成すると、sys.sysscalartypesに行が追加されます ユーザーが指定したスキーマと名前、およびsys.sysschobjsへの行 sysにシステムで生成された名前 スキーマ。システムで生成された名前は、TT_を連結して作成されます + FriendlyName + _ +オブジェクトIDの16進バージョン。

    2つのエンティティは、sys.syssingleobjrefsを介して相互に関連付けられています

    /*This query only works via the DAC*/
    SELECT so.id AS object_id,
           st.id AS user_type_id,
           *
    FROM   sys.sysschobjs so
           JOIN sys.syssingleobjrefs sor
             ON sor.indepid = so.id
           JOIN sys.sysscalartypes st
             ON st.id = sor.depid
    WHERE  st.name = 'MyUserTableType' 
    



    1. Oracle PL /SQLトリガー・エラー

    2. MySQL + PHP:ストアドプロシージャパラメータでウムラウトを処理する方法は?

    3. mysqlのインポート/エクスポート

    4. 名前が母音で始まり、母音で終わるかどうかを確認するSQLクエリ