查询表的所有字段属性及其是否是主外键
来源:互联网 发布:mac桌面图标删除不掉 编辑:程序博客网 时间:2024/05/21 11:28
CREATE PROC [dbo].[sp_help2]
@TableName VARCHAR(50) = NULL
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET XACT_ABORT ON
DECLARE @ErrCode nvarchar(100) = '', @ErrParam nvarchar(1000) = ''
, @ProcName nvarchar(200) = OBJECT_NAME(@@PROCID)
BEGIN TRY
select
b.name as ColumnName,
--CN_Name = (select Top(1) China from Dictionary dic where dic.Eng = b.name),
f.name AS Column_Type,
b.max_length as [Length],
CASE b.is_nullable WHEN 1 THEN 'Y' ELSE 'N' END as Nullable,
case when pktable.column_id is not null THEN 'O' ELSE '' END AS IS_PK,
case when d.object_id is not null THEN 'O' ELSE ''END AS IS_FK,
isnull(d.name,'') as RefTableName,
isnull(e.name,'') as RefColumnName
from sys.tables a
join sys.columns b on a.object_id = b.object_id
left join sys.foreign_key_columns c on a.object_id = c.parent_object_id
and b.column_id = c.parent_column_id
left join sys.tables d on c.referenced_object_id = d.object_id
left join sys.columns e on e.object_id = c.referenced_object_id
and e.column_id = c.referenced_column_id
join sys.types f on f.user_type_id = b.user_type_idand f.user_type_id = f.system_type_id
left join
(
select b.object_id,c.column_id
from sys.index_columns a
join sys.objects b on a.object_id = b.object_id
join sys.columns c on b.object_id = c.object_id
and c.column_id = a.column_id
join sys.key_constraints d on a.object_id = d.parent_object_id
and d.unique_index_id = a.index_id
and d.type = 'PK'
) pktable on pktable.object_id = a.object_id
and pktable.column_id = b.column_id
where a.object_id = OBJECT_ID(@TableName)
order by b.column_id
END TRY
BEGIN CATCH
END CATCH
@TableName VARCHAR(50) = NULL
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET XACT_ABORT ON
DECLARE @ErrCode nvarchar(100) = '', @ErrParam nvarchar(1000) = ''
, @ProcName nvarchar(200) = OBJECT_NAME(@@PROCID)
BEGIN TRY
select
b.name as ColumnName,
--CN_Name = (select Top(1) China from Dictionary dic where dic.Eng = b.name),
f.name AS Column_Type,
b.max_length as [Length],
CASE b.is_nullable WHEN 1 THEN 'Y' ELSE 'N' END as Nullable,
case when pktable.column_id is not null THEN 'O' ELSE '' END AS IS_PK,
case when d.object_id is not null THEN 'O' ELSE ''END AS IS_FK,
isnull(d.name,'') as RefTableName,
isnull(e.name,'') as RefColumnName
from sys.tables a
join sys.columns b on a.object_id = b.object_id
left join sys.foreign_key_columns c on a.object_id = c.parent_object_id
and b.column_id = c.parent_column_id
left join sys.tables d on c.referenced_object_id = d.object_id
left join sys.columns e on e.object_id = c.referenced_object_id
and e.column_id = c.referenced_column_id
join sys.types f on f.user_type_id = b.user_type_idand f.user_type_id = f.system_type_id
left join
(
select b.object_id,c.column_id
from sys.index_columns a
join sys.objects b on a.object_id = b.object_id
join sys.columns c on b.object_id = c.object_id
and c.column_id = a.column_id
join sys.key_constraints d on a.object_id = d.parent_object_id
and d.unique_index_id = a.index_id
and d.type = 'PK'
) pktable on pktable.object_id = a.object_id
and pktable.column_id = b.column_id
where a.object_id = OBJECT_ID(@TableName)
order by b.column_id
END TRY
BEGIN CATCH
END CATCH
- 查询表的所有字段属性及其是否是主外键
- SQLServer 中查询所有表及其字段
- 查询mysql数据库表的全部字段及其完整属性
- mysql查询表所有字段的属性和注释
- mysql -- 查询表所有字段的属性和注释
- oracle根据字段值查询所有表及其字段.txt
- mysql查询数据库某个表的所有字段及字段的长度及是否为空
- 查询所有表的字段
- 查询所有表的所有字段信息
- mysql查询库中所有的表名,mysql查询指定表中的所有字段名及其相关信息
- mysql查询数据库所有表和字段及其注释
- 表的字段属性查询
- SqlServer2005数据库查找所有表和字段及其属性和约束的sql语句
- SqlServer2005数据库查找所有表和字段及其属性和约束的sql语句
- sqlserver2005 查询某个表的所有字段
- 查询含有某个字段的所有表
- 查询表的所有字段名
- 查询表的所有字段名:
- c++ 函数 类 基础知识
- Range Minimum Query and Lowest Common Ancestor
- CAS总结之集群环境篇
- linux下内存泄露检测方法
- C#连接数据库sqlserver2005,执行存储过程的实例
- 查询表的所有字段属性及其是否是主外键
- C#连接数据库sqlserver2005,执行存储过程的实例
- C# GZipStream压缩与解压缩(针对文件)
- 历史名人8——俾斯麦
- 黑马程序员--java集合ArrayList
- Source Insight常用宏块介绍
- 求多个字符串的最大公共子串
- WebFrom服务端验证控件
- 演示如何给导航控制加动画特效