2005mysql_^全^ 获取SQL SERVER2000/2005、MySql、Oracle元数据的SQL语句 [SQL语句来自CodeSmith]...

#regionSQL TemplatesprivateconststringSQL_GetDatabaseName="SELECT db_name()";privateconststringSQL2005_GetTables=@"SELECT

object_name(so.id) AS OBJECT_NAME,

schema_name(so.uid) AS USER_NAME,

so.type AS TYPE,

so.crdate AS DATE_CREATED,

fg.file_group AS FILE_GROUP,

so.id as OBJECT_ID

FROM

dbo.sysobjects so

LEFT JOIN (

SELECT

s.groupname AS file_group,

i.id        AS id

FROM dbo.sysfilegroups s

INNER JOIN dbo.sysindexes i

ON i.groupid = s.groupid

WHERE i.indid 

) AS fg

ON so.id = fg.id

WHERE

so.type = N'U'

AND permissions(so.id) & 4096 <> 0

AND ObjectProperty(so.id, N'IsMSShipped') = 0

AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = so.id AND name = 'microsoft_database_tools_support' AND value = 1)

ORDER BY schema_name(so.uid), object_name(so.id)";privateconststringSQL2000_GetTables=@"SELECT

object_name(so.id) AS OBJECT_NAME,

user_name(so.uid)  AS USER_NAME,

so.type            AS TYPE,

so.crdate          AS DATE_CREATED,

fg.file_group      AS FILE_GROUP,

so.id              AS OBJECT_ID

FROM

dbo.sysobjects so

LEFT JOIN (

SELECT

s.groupname AS file_group,

i.id        AS id

FROM dbo.sysfilegroups s

INNER JOIN dbo.sysindexes i

ON i.groupid = s.groupid

WHERE i.indid 

) AS fg

ON so.id = fg.id

WHERE

so.type = N'U'

AND permissions(so.id) & 4096 <> 0

AND ObjectProperty(so.id, N'IsMSShipped') = 0

ORDER BY user_name(so.uid), object_name(so.id)";privateconststringSQL_GetTables=@"SELECT

object_name(id) AS OBJECT_NAME,

user_name(uid) AS USER_NAME,

type AS TYPE,

crdate AS DATE_CREATED,

'' AS FILE_GROUP,

id as OBJECT_ID

FROM

sysobjects

WHERE

type = N'U'

AND permissions(id) & 4096 <> 0

AND ObjectProperty(id, N'IsMSShipped') = 0

ORDER BY user_name(uid), object_name(id)";privateconststringSQL2005_GetTableColumns=@"SELECT

clmns.[name] AS [Name],

usrt.[name] AS [DataType],

ISNULL(baset.[name], N'') AS [SystemType],

CAST(CASE WHEN baset.[name] IN (N'char', N'varchar', N'binary', N'varbinary', N'nchar', N'nvarchar') THEN clmns.prec ELSE clmns.length END AS int) AS [Length],

CAST(clmns.xprec AS tinyint) AS [NumericPrecision],

CAST(clmns.xscale AS int) AS [NumericScale],

CASE CAST(clmns.isnullable AS bit) WHEN 1 THEN 'YES' ELSE 'NO' END AS [Nullable],

defaults.text AS [DefaultValue],

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsIdentity') AS int) AS [Identity],

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsRowGuidCol') AS int) AS IsRowGuid,

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsComputed') AS int) AS IsComputed,

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsDeterministic') AS int) AS IsDeterministic,

CAST(CASE COLUMNPROPERTY(clmns.id, clmns.[name], N'IsIdentity') WHEN 1 THEN IDENT_SEED(QUOTENAME(SCHEMA_NAME(tbl.uid)) + '.' + QUOTENAME(tbl.[name])) ELSE 0 END AS nvarchar(40)) AS [IdentitySeed],

CAST(CASE COLUMNPROPERTY(clmns.id, clmns.[name], N'IsIdentity') WHEN 1 THEN IDENT_INCR(QUOTENAME(SCHEMA_NAME(tbl.uid)) + '.' + QUOTENAME(tbl.[name])) ELSE 0 END AS nvarchar(40)) AS [IdentityIncrement],

cdef.[text] AS ComputedDefinition,

clmns.[collation] AS Collation,

CAST(clmns.colid AS int) AS ObjectId

FROM

dbo.sysobjects AS tbl

INNER JOIN dbo.syscolumns AS clmns ON clmns.id=tbl.id

LEFT JOIN dbo.systypes AS usrt ON usrt.xusertype = clmns.xusertype

LEFT JOIN dbo.sysusers AS sclmns ON sclmns.uid = usrt.uid

LEFT JOIN dbo.systypes AS baset ON baset.xusertype = clmns.xtype and baset.xusertype = baset.xtype

LEFT JOIN dbo.syscomments AS defaults ON defaults.id = clmns.cdefault

LEFT JOIN dbo.syscomments AS cdef ON cdef.id = clmns.id AND cdef.number = clmns.colid

WHERE

(tbl.[type] = 'U' OR tbl.[type] = 'S')

AND SCHEMA_NAME(tbl.uid) = @SchemaName

AND tbl.[name] = @TableName

ORDER BY

clmns.colorder";privateconststringSQL2000_GetTableColumns=@"SELECT

clmns.[name] AS [Name],

usrt.[name] AS [DataType],

ISNULL(baset.[name], N'') AS [SystemType],

CAST(CASE WHEN baset.[name] IN (N'char', N'varchar', N'binary', N'varbinary', N'nchar', N'nvarchar') THEN clmns.prec ELSE clmns.length END AS INT) AS [Length],

CAST(clmns.xprec AS TINYINT) AS [NumericPrecision],

CAST(clmns.xscale AS INT) AS [NumericScale],

CASE CAST(clmns.isnullable AS BIT) WHEN 1 THEN 'YES' ELSE 'NO' END AS [Nullable],

defaults.text AS [DefaultValue],

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsIdentity') AS INT) AS [Identity],

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsRowGuidCol') AS INT) AS IsRowGuid,

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsComputed') AS INT) AS IsComputed,

CAST(COLUMNPROPERTY(clmns.id, clmns.[name], N'IsDeterministic') AS INT) AS IsDeterministic,

CAST(CASE COLUMNPROPERTY(clmns.id, clmns.[name], N'IsIdentity') WHEN 1 THEN IDENT_SEED(QUOTENAME(stbl.[name]) + '.' + QUOTENAME(tbl.[name])) ELSE 0 END AS NVARCHAR(40)) AS [IdentitySeed],

CAST(CASE COLUMNPROPERTY(clmns.id, clmns.[name], N'IsIdentity') WHEN 1 THEN IDENT_INCR(QUOTENAME(stbl.[name]) + '.' + QUOTENAME(tbl.[name])) ELSE 0 END AS NVARCHAR(40)) AS [IdentityIncrement],

cdef.[text] AS ComputedDefinition,

clmns.[collation] AS Collation,

CAST(clmns.colid AS int) AS ObjectId

FROM

dbo.sysobjects AS tbl

INNER JOIN dbo.sysusers AS stbl ON stbl.[uid] = tbl.[uid]

INNER JOIN dbo.syscolumns AS clmns ON clmns.id=tbl.id

LEFT JOIN dbo.systypes AS usrt ON usrt.xusertype = clmns.xusertype

LEFT JOIN dbo.sysusers AS sclmns ON sclmns.uid = usrt.uid

LEFT JOIN dbo.systypes AS baset ON baset.xusertype = clmns.xtype and baset.xusertype = baset.xtype

LEFT JOIN dbo.syscomments AS defaults ON defaults.id = clmns.cdefault

LEFT JOIN dbo.syscomments AS cdef ON cdef.id = clmns.id AND cdef.number = clmns.colid

WHERE

(tbl.[type] = 'U' OR tbl.[type] = 'S')

AND stbl.[name] = @SchemaName

AND tbl.[name] = @TableName

ORDER BY

clmns.colorder";privateconststringSQL_GetTableColumns=@"SELECT

cols.COLUMN_NAME,

CASE

WHEN cols.DOMAIN_NAME IS NOT NULL THEN cols.DOMAIN_NAME

ELSE cols.DATA_TYPE

END

AS DATA_TYPE,

cols.DATA_TYPE AS UNDERLYING_TYPE,

CAST(cols.CHARACTER_MAXIMUM_LENGTH AS int),

cols.NUMERIC_PRECISION,

cols.NUMERIC_SCALE,

cols.IS_NULLABLE,

cols.COLUMN_DEFAULT,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']'),cols.COLUMN_NAME,'IsIdentity') AS IS_IDENTITY,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']'),cols.COLUMN_NAME,'IsRowGuidCol') AS IS_ROW_GUID_COL,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']'),cols.COLUMN_NAME,'IsComputed') AS IS_COMPUTED,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']'),cols.COLUMN_NAME,'IsDeterministic') AS IS_DETERMINISTIC,

CASE WHEN (COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']'), cols.COLUMN_NAME, N'IsIdentity') <> 0) then CONVERT(nvarchar(40), ident_seed(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']')) else null end AS IDENTITY_SEED,

CASE WHEN (COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']'), cols.COLUMN_NAME, N'IsIdentity') <> 0) then CONVERT(nvarchar(40), ident_incr(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @TableName + N']')) else null end AS IDENTITY_INCREMENT,

NULL AS COMPUTED_DEFINITION,

NULL AS [collation],

CAST(0 AS int) AS ObjectId

FROM

INFORMATION_SCHEMA.COLUMNS cols

WHERE

cols.TABLE_CATALOG = @DatabaseName

AND cols.TABLE_SCHEMA = @OwnerName

AND cols.TABLE_NAME = @TableName

ORDER BY

cols.ORDINAL_POSITION";privateconststringSQL2005_GetViews=@"SELECT

object_name(id) AS OBJECT_NAME,

schema_name(uid) AS USER_NAME,

type AS TYPE,

crdate AS DATE_CREATED,

id as OBJECT_ID

FROM

sysobjects

WHERE

type = N'V'

AND permissions(id) & 4096 <> 0

AND ObjectProperty(id, N'IsMSShipped') = 0

AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = id AND name = 'microsoft_database_tools_support' AND value = 1)

ORDER BY object_name(id)";privateconststringSQL_GetViews=@"SELECT

object_name(id) AS OBJECT_NAME,

user_name(uid) AS USER_NAME,

type AS TYPE,

crdate AS DATE_CREATED,

id as OBJECT_ID

FROM

sysobjects

WHERE

type = N'V'

AND permissions(id) & 4096 <> 0

AND ObjectProperty(id, N'IsMSShipped') = 0

ORDER BY object_name(id)";privateconststringSQL2000_GetViewColumns=@"SELECT

cols.COLUMN_NAME,

CASE

WHEN cols.DOMAIN_NAME IS NOT NULL THEN cols.DOMAIN_NAME COLLATE Latin1_General_BIN

ELSE cols.DATA_TYPE

END

AS DATA_TYPE,

cols.DATA_TYPE AS UNDERLYING_TYPE,

CAST(cols.CHARACTER_MAXIMUM_LENGTH AS int),

cols.NUMERIC_PRECISION,

cols.NUMERIC_SCALE,

cols.IS_NULLABLE,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @ViewName + N']'),cols.COLUMN_NAME,'IsComputed') AS IS_COMPUTED,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @ViewName + N']'),cols.COLUMN_NAME,'IsDeterministic') AS IS_DETERMINISTIC

FROM

INFORMATION_SCHEMA.COLUMNS cols

WHERE

cols.TABLE_CATALOG = @DatabaseName

AND cols.TABLE_SCHEMA = @OwnerName

AND cols.TABLE_NAME = @ViewName

ORDER BY

cols.ORDINAL_POSITION";privateconststringSQL_GetViewColumns=@"SELECT

cols.COLUMN_NAME,

CASE

WHEN cols.DOMAIN_NAME IS NOT NULL THEN cols.DOMAIN_NAME

ELSE cols.DATA_TYPE

END

AS DATA_TYPE,

cols.DATA_TYPE AS UNDERLYING_TYPE,

CAST(cols.CHARACTER_MAXIMUM_LENGTH AS int),

cols.NUMERIC_PRECISION,

cols.NUMERIC_SCALE,

cols.IS_NULLABLE,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @ViewName + N']'),cols.COLUMN_NAME,'IsComputed') AS IS_COMPUTED,

COLUMNPROPERTY(OBJECT_ID(N'[' + @DatabaseName + N'].[' + @OwnerName + N'].[' + @ViewName + N']'),cols.COLUMN_NAME,'IsDeterministic') AS IS_DETERMINISTIC

FROM

INFORMATION_SCHEMA.COLUMNS cols

WHERE

cols.TABLE_CATALOG = @DatabaseName

AND cols.TABLE_SCHEMA = @OwnerName

AND cols.TABLE_NAME = @ViewName

ORDER BY

cols.ORDINAL_POSITION";privateconststringSQL_GetTablePrimaryKey="EXEC sp_MStablekeys @tablename";privateconststringSQL_GetTableIndexes=@"SELECT

i.name,

i.status,

i.indid,

i.OrigFillFactor,

IndCol1  = INDEX_COL(@tablename, i.indid, 1),

IndCol2  = INDEX_COL(@tablename, i.indid, 2),

IndCol3  = INDEX_COL(@tablename, i.indid, 3),

IndCol4  = INDEX_COL(@tablename, i.indid, 4),

IndCol5  = INDEX_COL(@tablename, i.indid, 5),

IndCol6  = INDEX_COL(@tablename, i.indid, 6),

IndCol7  = INDEX_COL(@tablename, i.indid, 7),

IndCol8  = INDEX_COL(@tablename, i.indid, 8),

IndCol9  = INDEX_COL(@tablename, i.indid, 9),

IndCol10 = INDEX_COL(@tablename, i.indid, 10),

IndCol11 = INDEX_COL(@tablename, i.indid, 11),

IndCol12 = INDEX_COL(@tablename, i.indid, 12),

IndCol13 = INDEX_COL(@tablename, i.indid, 13),

IndCol14 = INDEX_COL(@tablename, i.indid, 14),

IndCol15 = INDEX_COL(@tablename, i.indid, 15),

IndCol16 = INDEX_COL(@tablename, i.indid, 16),

IsDescCol1  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 1,  N'isdescending'),

IsDescCol2  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 2,  N'isdescending'),

IsDescCol3  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 3,  N'isdescending'),

IsDescCol4  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 4,  N'isdescending'),

IsDescCol5  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 5,  N'isdescending'),

IsDescCol6  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 6,  N'isdescending'),

IsDescCol7  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 7,  N'isdescending'),

IsDescCol8  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 8,  N'isdescending'),

IsDescCol9  = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 9,  N'isdescending'),

IsDescCol10 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 10, N'isdescending'),

IsDescCol11 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 11, N'isdescending'),

IsDescCol12 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 12, N'isdescending'),

IsDescCol13 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 13, N'isdescending'),

IsDescCol14 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 14, N'isdescending'),

IsDescCol15 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 15, N'isdescending'),

IsDescCol16 = INDEXKEY_PROPERTY(OBJECT_ID(@tablename), i.indid, 16, N'isdescending'),

IsCompCol1  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 1),  N'IsComputed'),

IsCompCol2  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 2),  N'IsComputed'),

IsCompCol3  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 3),  N'IsComputed'),

IsCompCol4  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 4),  N'IsComputed'),

IsCompCol5  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 5),  N'IsComputed'),

IsCompCol6  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 6),  N'IsComputed'),

IsCompCol7  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 7),  N'IsComputed'),

IsCompCol8  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 8),  N'IsComputed'),

IsCompCol9  = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 9),  N'IsComputed'),

IsCompCol10 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 10), N'IsComputed'),

IsCompCol11 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 11), N'IsComputed'),

IsCompCol12 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 12), N'IsComputed'),

IsCompCol13 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 13), N'IsComputed'),

IsCompCol14 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 14), N'IsComputed'),

IsCompCol15 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 15), N'IsComputed'),

IsCompCol16 = COLUMNPROPERTY(OBJECT_ID(@tablename), INDEX_COL(@tablename, i.indid, 16), N'IsComputed'),

SegName          = s.groupname,

IsFullTextKey    = INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsFulltextKey'),

IsTable          = OBJECTPROPERTY(OBJECT_ID(@tablename), N'IsTable'),

IsStatistics     = INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsStatistics'),

IsAutoStatistics = INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsAutoStatistics'),

IsHypothetical   = INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsHypothetical'),

IsConstraint     = CASE WHEN c.constid IS NOT NULL THEN 1 ELSE 0 END

FROM

dbo.sysindexes i

INNER JOIN  dbo.sysfilegroups s ON i.groupid = s.groupid

LEFT OUTER JOIN dbo.sysconstraints c ON c.[id] = OBJECT_ID(@tablename) AND i.name = OBJECT_NAME(c.constid)

WHERE

i.id = OBJECT_ID(@tablename)

AND i.indid > 0

AND i.indid 

AND INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsStatistics') = 0 -- filter out statistics

222530190136c9c4cfd237cc0d5cff99.png

AND INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsAutoStatistics') = 0 -- filter out statistics

222530190136c9c4cfd237cc0d5cff99.png

AND INDEXPROPERTY(OBJECT_ID(@tablename), i.name, N'IsHypothetical') = 0 -- filter out statistics

222530190136c9c4cfd237cc0d5cff99.png

ORDER BY

i.indid";privateconststringSQL_GetTableKeys="EXEC sp_MStablerefs @tablename, N'actualtables', N'both', null";privateconststringSQL_GetObjectData="SELECT * FROM [{0}].[{1}]";privateconststringSQL_GetObjectSource="EXEC sp_helptext @objectname";privateconststringSQL2005_GetColumnConstraints=@"SELECT

object_name(const.constid) AS ConstraintName,

CASE

WHEN const.status & 5 = 5 THEN 'DEFAULT'

WHEN const.status & 4 = 4 THEN 'CHECK'

ELSE ''

END AS ConstraintType,

constdef.text AS ConstraintDef

FROM

dbo.sysobjects AS tbl

INNER JOIN dbo.syscolumns AS clmns ON clmns.id=tbl.id

INNER JOIN dbo.sysconstraints const ON clmns.id = const.id and clmns.colid = const.colid

LEFT OUTER JOIN dbo.syscomments constdef ON const.constid = constdef.id

WHERE

SCHEMA_NAME(tbl.uid) = @SchemaName

AND tbl.[name] = @TableName

AND clmns.name = @ColumnName

AND (const.status & 4 = 4 OR const.status & 5 = 5)";privateconststringSQL2000_GetColumnConstraints=@"SELECT

object_name(const.constid) AS ConstraintName,

CASE

WHEN const.status & 5 = 5 THEN 'DEFAULT'

WHEN const.status & 4 = 4 THEN 'CHECK'

ELSE ''

END AS ConstraintType,

constdef.text AS ConstraintDef

FROM

dbo.sysobjects AS tbl

INNER JOIN dbo.sysusers AS stbl ON stbl.[uid] = tbl.[uid]

INNER JOIN dbo.syscolumns AS clmns ON clmns.id=tbl.id

INNER JOIN dbo.sysconstraints const ON clmns.id = const.id and clmns.colid = const.colid

LEFT OUTER JOIN dbo.syscomments constdef ON const.constid = constdef.id

WHERE

stbl.[name] = @SchemaName

AND tbl.[name] = @TableName

AND clmns.name = @ColumnName

AND (const.status & 4 = 4 OR const.status & 5 = 5)";privateconststringSQL2005_GetCommands=@"SELECT

object_name(id) AS OBJECT_NAME,

schema_name(uid) AS USER_NAME,

crdate AS DATE_CREATED,

id as OBJECT_ID

FROM

sysobjects

WHERE

type = N'P'

AND permissions(id) & 32 <> 0

AND ObjectProperty(id, N'IsMSShipped') = 0

AND NOT EXISTS (SELECT * FROM sys.extended_properties WHERE major_id = id AND name = 'microsoft_database_tools_support' AND value = 1)

ORDER BY object_name(id)";privateconststringSQL_GetCommands=@"SELECT

object_name(id) AS OBJECT_NAME,

user_name(uid) AS USER_NAME,

crdate AS DATE_CREATED,

id as OBJECT_ID

FROM

sysobjects

WHERE

type = N'P'

AND permissions(id) & 32 <> 0

AND ObjectProperty(id, N'IsMSShipped') = 0

ORDER BY object_name(id)";privateconststringSQL_GetCommandParameters=@"EXEC sp_procedure_params_rowset @CommandName, 1, @SchemaName, NULL";privateconststringSQL2005_GetCommandParameters=@"SELECT

DB_NAME() AS [PROCEDURE_CATALOG],

@SchemaName AS [PROCEDURE_SCHEMA],

NULL AS [PROCEDURE_NAME],

'@RETURN_VALUE' AS [PARAMETER_NAME],

0 AS [ORDINAL_POSITION],

CAST(4 AS smallint) AS [PARAMETER_TYPE],

0 AS [PARAMETER_HASDEFAULT],

NULL AS [PARAMETER_DEFAULT],

CAST(0 AS bit) AS [IS_NULLABLE],

0 AS [DATA_TYPE],

NULL AS [CHARACTER_MAXIMUM_LENGTH],

NULL AS [CHARACTER_OCTET_LENGTH],

CAST(10 AS smallint) AS [NUMERIC_PRECISION],

CAST(NULL AS smallint) AS [NUMERIC_SCALE],

NULL AS [DESCRIPTION],

'int' AS [TYPE_NAME],

'int' AS [LOCAL_TYPE_NAME]

UNION ALL

SELECT

DB_NAME() AS [PROCEDURE_CATALOG],

SCHEMA_NAME(sp.schema_id) AS [PROCEDURE_SCHEMA],

NULL AS [PROCEDURE_NAME],

param.name AS [PARAMETER_NAME],

param.parameter_id AS [ORDINAL_POSITION],

CAST(CASE WHEN param.is_output = 1 THEN 2 ELSE 1 END AS smallint) AS [PARAMETER_TYPE],

0 AS [PARAMETER_HASDEFAULT],

NULL AS [PARAMETER_DEFAULT],

CAST(1 AS bit) AS [IS_NULLABLE],

0 AS [DATA_TYPE],

CAST(CASE WHEN baset.name IN (N'nchar', N'nvarchar') AND param.max_length <> -1 THEN param.max_length/2 ELSE param.max_length END AS int) AS [CHARACTER_MAXIMUM_LENGTH],

NULL AS [CHARACTER_OCTET_LENGTH],

CAST(param.precision AS smallint) AS [NUMERIC_PRECISION],

CAST(param.scale AS smallint) AS [NUMERIC_SCALE],

NULL AS [DESCRIPTION],

ISNULL(baset.name, N'') AS [TYPE_NAME],

ISNULL(baset.name, N'') AS [LOCAL_TYPE_NAME]

FROM

sys.all_objects AS sp

INNER JOIN sys.all_parameters AS param ON param.object_id=sp.object_id

LEFT OUTER JOIN sys.types AS baset ON baset.user_type_id = param.system_type_id and baset.user_type_id = baset.system_type_id

WHERE

(sp.type = N'P' OR sp.type = N'RF' OR sp.type='PC')and(sp.name=@CommandName and SCHEMA_NAME(sp.schema_id)=@SchemaName)

ORDER BY

5 ASC";privateconststringSQL_GetExtendedProperties=@"SELECT

p.name AS PROPERTY_NAME,

p.value AS PROPERTY_VALUE,

SQL_VARIANT_PROPERTY(p.value,'BaseType') AS UNDERLYING_TYPE,

SQL_VARIANT_PROPERTY(p.value,'MaxLength') AS CHARACTER_MAXIMUM_LENGTH,

SQL_VARIANT_PROPERTY(p.value,'Precision') AS NUMERIC_PRECISION,

SQL_VARIANT_PROPERTY(p.value,'Scale') AS NUMERIC_SCALE

FROM

::fn_listextendedproperty(NULL, @level0type, @level0name, @level1type, @level1name, @level2type, @level2name) p";privateconststringSQL_GetSqlServerVersion="EXEC master.dbo.xp_msver ProductVersion";#endregion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值