0

SSMSでは、次のスクリプトを使用してデータベースを作成します。スクリプトの実行が完了すると、sql_modulesテーブルにCREATETABLEステートメントが表示されると思います。しかし、私はそれを見つけることができません。

CREATE DATABASE [MyDb]
GO 
USE [MyDb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[MyTable] (
    [UID] [uniqueidentifier] NOT NULL,
    [DateTime] [datetime] NOT NULL
)

これが私が実行したクエリで、テーブル定義を取得します。ただし、3つの空の結果セットを取得します。これらの3つの空の結果セットを取得する理由はありますか?

USE MyDb
GO

SELECT * 
FROM sys.sql_modules

SELECT * 
FROM sys.triggers

SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition
FROM sys.sql_modules AS sm
JOIN sys.objects AS o ON sm.object_id = o.object_id
ORDER BY o.type;
4

1 に答える 1

2

列とテーブルの情報を取得するには、ここから始めるとよいでしょう。

SELECT c.*, t.*
FROM sys.tables AS t
INNER JOIN sys.columns AS c ON t.object_id = c.object_id
INNER JOIN sys.schemas AS sch ON t.schema_id = sch.schema_id
WHERE sch.name = 'dbo'
   AND t.name = 'YourTable'
于 2012-11-01T17:05:14.677 に答える