USP_SCHEMAINFO_GETVIEWCOLUMNINFO
Returns column information for a specific view, table, or table valued function.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VIEWNAME | nvarchar(128) | IN | |
@VIEW_SCHEMA | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.USP_SCHEMAINFO_GETVIEWCOLUMNINFO
(
@VIEWNAME nvarchar(128),
@VIEW_SCHEMA nvarchar(128)='dbo'
)
as
if exists(select TABLE_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@VIEWNAME and TABLE_SCHEMA=@VIEW_SCHEMA)
begin
select
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
DOMAIN_NAME,
(select
sys.columns.IS_COMPUTED
from
sys.columns
inner join sys.objects on sys.objects.OBJECT_ID = sys.columns.OBJECT_ID
inner join sys.schemas on sys.objects.SCHEMA_ID = sys.schemas.SCHEMA_ID
where
sys.objects.NAME = TABLE_NAME and sys.columns.NAME = COLUMN_NAME and sys.schemas.NAME = @VIEW_SCHEMA
) as ISCOMPUTED,
NUMERIC_PRECISION,
NUMERIC_SCALE
from
INFORMATION_SCHEMA.COLUMNS
where
TABLE_SCHEMA=@VIEW_SCHEMA and
TABLE_NAME=@VIEWNAME
order by
ORDINAL_POSITION
end
else
begin
select
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
DOMAIN_NAME,
(select
sys.columns.IS_COMPUTED
from
sys.columns
inner join sys.objects on sys.objects.OBJECT_ID = sys.columns.OBJECT_ID
inner join sys.schemas on sys.objects.SCHEMA_ID = sys.schemas.SCHEMA_ID
where
sys.objects.NAME = TABLE_NAME and sys.columns.NAME = COLUMN_NAME and sys.schemas.NAME = @VIEW_SCHEMA
) as ISCOMPUTED,
NUMERIC_PRECISION,
NUMERIC_SCALE
from
INFORMATION_SCHEMA.ROUTINE_COLUMNS
where
TABLE_SCHEMA=@VIEW_SCHEMA and
TABLE_NAME=@VIEWNAME
order by
ORDINAL_POSITION
end