需要:读取库里面所有 表、以及表描述、 列、列描述

  1. create PROCEDURE [dbo].[ProGetAllTableName]
  2. AS
  3. BEGIN
  4.  
  5. --开启事物
  6. BEGIN TRAN tran_insert
  7.  
  8. ----删除表 (不做判断 特殊处理)
  9. DELETE from _Columns;
  10. DELETE from _Tables;
  11.  
  12. INSERT INTO [_Tables] Select NEWID(), --Id
  13. so.name AS tableName, --TbName
  14. CONVERT(Varchar(50),ISNULL((SELECT value FROM sys.extended_properties where major_id=so.id AND minor_id=0),so.name) ) AS tableNameDetails--TbDetails
  15.  
  16. FROM SysObjects so
  17. Where (so.XType='U' OR so.XType='V') AND( CHARINDEX('_',so.name)!=1 ) ;
  18.  
  19. INSERT INTO [dbo].[_Columns] SELECT NEWID(), --Id
  20. a.name AS FieldName , --ColName
  21. CONVERT(Varchar(50),isnull(g.[value],a.name) ) AS FieldDesc ,--ColDetails
  22. d.NAME AS TabName --TbName
  23. FROM syscolumns a
  24. inner join sysobjects d on a.id=d.id and (d.xtype='U' or d.xtype='V') and d.name<>'dtproperties' and charindex('_',d.name)<1
  25. left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id
  26. order by d.NAME, a.colorder
  27. --结束事物
  28. COMMIT TRAN tran_insert
  29. END

ps:

  1. SELECT d.NAME AS TabName
  2. ,isnull(f.value,' ') TabDesc
  3. ,a.colorder AS FieldIdx
  4. ,a.name AS FieldName
  5. , (case when COLUMNPROPERTY(a.id,a.name,'IsIdentity')=1 then 1 else 0 END ) AS IsIdentity
  6. ,ispk=case when ic.index_id is not null then 1 else 0 end
  7. , b.name AS FieldType,COLUMNPROPERTY(a.id,a.name,'PRECISION') AS FieldLength, isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) AS Scale,(case when a.isnullable=1 then 1 ELSE 0 END ) AS isAllowNull, isnull(e.text,'') AS FieldDefaultValue, isnull(g.[value],' ') AS FieldDesc
  8. FROM syscolumns a
  9. left join systypes b on a.xtype=b.xusertype
  10. inner join sysobjects d on a.id=d.id and (d.xtype='U' or d.xtype='V') and d.name<>'dtproperties' and charindex('_',d.name)<1
  11. left join syscomments e on a.cdefault=e.id
  12. left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id
  13. left join sys.extended_properties f on d.id=f.major_id and f.minor_id =0
  14. left join sys.indexes ix on d.id=ix.object_id and ix.is_primary_key=1
  15. left join sys.index_columns ic on ix.object_id=ic.object_id and a.colid=ic.column_id and ix.index_id=ic.index_id
  16. order by d.NAME
 

--后续 :记录sql管理维护

场景1:查看所有的表名称(很多时候 不知道表,也不知道表叫什么名称,只记得备注)。

vw_tableDes

  1. create view [dbo].[vw_TableDes]
  2. as
  3. select TableCode=object_name(major_id)
  4. ,TableName=cast([value] as nvarchar(100))
  5. from sys.extended_properties
  6. where minor_id=0

要求在建表的时候 需要维护扩展属性:

场景2:有查看所有表,就有查看字段

这里以GGUser为测试 (只备注了name)

  1. create procedure [dbo].[up_Help]
  2. @objname nvarchar(776) = NULL -- object name we're after
  3. as
  4. -- PRELIMINARY
  5. set nocount on
  6. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
  7.  
  8. declare @dbname sysname
  9. ,@no varchar(35), @yes varchar(35), @none varchar(35)
  10. select @no = 'no', @yes = 'yes', @none = 'none'
  11.  
  12. -- If no @objname given, give a little info about all objects.
  13. if @objname is null
  14. begin
  15. -- DISPLAY ALL SYSOBJECTS --
  16. if (serverproperty('EngineEdition') != 5)
  17. begin
  18. select
  19. 'Name' = o.name,
  20. 'Desc' = e.value,
  21. 'Owner' = user_name(ObjectProperty( object_id, 'ownerid')),
  22. 'Object_type' = substring(v.name,5,31)
  23. from sys.all_objects o
  24. inner join master.dbo.spt_values v on o.type = substring(v.name,1,2) collate database_default and v.type = 'O9T'
  25. left join sys.extended_properties e on o.object_id=e.major_id and e.minor_id=0
  26. order by [Owner] asc, Object_type desc, Name asc
  27. end
  28. else
  29. begin
  30. select
  31. 'Name' = o.name,
  32. 'Desc' = e.value,
  33. 'Owner' = user_name(ObjectProperty( object_id, 'ownerid')),
  34. 'Object_type' = substring(v.name,5,31)
  35. from sys.all_objects o
  36. inner join sys.spt_values v on o.type = substring(v.name,1,2) collate database_default and v.type = 'O9T'
  37. left join sys.extended_properties e on o.object_id=e.major_id and e.minor_id=0
  38. order by [Owner] asc, Object_type desc, Name asc
  39. end
  40.  
  41. print ' '
  42.  
  43. -- DISPLAY ALL USER TYPES
  44. select
  45. 'User_type' = name,
  46. 'Storage_type' = type_name(system_type_id),
  47. 'Length' = max_length,
  48. --'Prec' = Convert(int,TypePropertyEx(user_type_id, 'precision')),
  49. --'Scale' = Convert(int,TypePropertyEx(user_type_id, 'scale')),
  50. 'Nullable' = case when is_nullable = 1 then @yes else @no end,
  51. 'Default_name' = isnull(object_name(default_object_id), @none),
  52. 'Rule_name' = isnull(object_name(rule_object_id), @none),
  53. 'Collation' = collation_name
  54. from sys.types
  55. where user_type_id > 256
  56. order by name
  57.  
  58. return(0)
  59. end
  60.  
  61. -- Make sure the @objname is local to the current database.
  62. select @dbname = parsename(@objname,3)
  63. if @dbname is null
  64. select @dbname = db_name()
  65. else if @dbname <> db_name()
  66. begin
  67. raiserror(15250,-1,-1)
  68. return(1)
  69. end
  70.  
  71. -- @objname must be either sysobjects or systypes: first look in sysobjects
  72. declare @objid int
  73. declare @sysobj_type char(2)
  74. select @objid = object_id, @sysobj_type = type from sys.all_objects where object_id = object_id(@objname)
  75.  
  76. -- IF NOT IN SYSOBJECTS, TRY SYSTYPES --
  77. if @objid is null
  78. begin
  79. -- UNDONE: SHOULD CHECK FOR AND DISALLOW MULTI-PART NAME
  80. select @objid = type_id(@objname)
  81.  
  82. -- IF NOT IN SYSTYPES, GIVE UP
  83. if @objid is null
  84. begin
  85. raiserror(15009,-1,-1,@objname,@dbname)
  86. return(1)
  87. end
  88.  
  89. -- DATA TYPE HELP (prec/scale only valid for numerics)
  90. select
  91. 'Type_name' = name,
  92. 'Storage_type' = type_name(system_type_id),
  93. 'Length' = max_length,
  94. --'Prec' = Convert(int,TypePropertyEx(user_type_id, 'precision')),
  95. --'Scale' = Convert(int,TypePropertyEx(user_type_id, 'scale')),
  96. 'Nullable' = case when is_nullable=1 then @yes else @no end,
  97. 'Default_name' = isnull(object_name(default_object_id), @none),
  98. 'Rule_name' = isnull(object_name(rule_object_id), @none),
  99. 'Collation' = collation_name
  100. from sys.types
  101. where user_type_id = @objid
  102.  
  103. return(0)
  104. end
  105.  
  106. -- FOUND IT IN SYSOBJECT, SO GIVE OBJECT INFO
  107. if (serverproperty('EngineEdition') != 5)
  108. begin
  109. select
  110. 'Name' = o.name,
  111. 'Desc' = (select top 1 value from sys.extended_properties where major_id=@objid and minor_id=0),
  112. 'Owner' = user_name(ObjectProperty( object_id, 'ownerid')),
  113. 'Type' = substring(v.name,5,31),
  114. 'Created_datetime' = o.create_date
  115. from sys.all_objects o, master.dbo.spt_values v
  116. where o.object_id = @objid and o.type = substring(v.name,1,2) collate database_default and v.type = 'O9T'
  117.  
  118. end
  119. else
  120. begin
  121. select
  122. 'Name' = o.name,
  123. 'Desc' = (select top 1 value from sys.extended_properties where major_id=@objid and minor_id=0),
  124. 'Owner' = user_name(ObjectProperty( object_id, 'ownerid')),
  125. 'Type' = substring(v.name,5,31),
  126. 'Created_datetime' = o.create_date
  127. from sys.all_objects o, sys.spt_values v
  128. where o.object_id = @objid and o.type = substring(v.name,1,2) collate database_default and v.type = 'O9T'
  129.  
  130. end
  131.  
  132. print ' '
  133.  
  134. -- DISPLAY COLUMN IF TABLE / VIEW
  135. if exists (select * from sys.all_columns where object_id = @objid)
  136. begin
  137.  
  138. -- SET UP NUMERIC TYPES: THESE WILL HAVE NON-BLANK PREC/SCALE
  139. -- There must be a ',' immediately after each type name (including last one),
  140. -- because that's what we'll search for in charindex later.
  141. declare @precscaletypes nvarchar(150)
  142. select @precscaletypes = N'tinyint,smallint,decimal,int,bigint,real,money,float,numeric,smallmoney,date,time,datetime2,datetimeoffset,'
  143.  
  144. -- INFO FOR EACH COLUMN
  145. print ' '
  146. select
  147. 'Column_name' = cl.name,
  148. 'Column_Desc' = ep.value,
  149. 'Type' = type_name(user_type_id),
  150. 'Computed' = case when ColumnProperty(object_id, cl.name, 'IsComputed') = 0 then @no else @yes end,
  151. 'Length' = convert(int, max_length),
  152. -- for prec/scale, only show for those types that have valid precision/scale
  153. -- Search for type name + ',', because 'datetime' is actually a substring of 'datetime2' and 'datetimeoffset'
  154. 'Prec' = case when charindex(type_name(system_type_id) + ',', @precscaletypes) > 0
  155. then convert(char(5),ColumnProperty(object_id, cl.name, 'precision'))
  156. else ' ' end,
  157. 'Scale' = case when charindex(type_name(system_type_id) + ',', @precscaletypes) > 0
  158. then convert(char(5),OdbcScale(system_type_id,scale))
  159. else ' ' end,
  160. 'Nullable' = case when is_nullable = 0 then @no else @yes end,
  161. 'TrimTrailingBlanks' = case ColumnProperty(object_id, cl.name, 'UsesAnsiTrim')
  162. when 1 then @no
  163. when 0 then @yes
  164. else '(n/a)' end,
  165. 'FixedLenNullInSource' = case
  166. when type_name(system_type_id) not in ('varbinary','varchar','binary','char')
  167. then '(n/a)'
  168. when is_nullable = 0 then @no else @yes end,
  169. 'Collation' = collation_name
  170. from sys.all_columns cl
  171. left join sys.extended_properties ep on cl.object_id=ep.major_id and ep.minor_id=cl.column_id
  172. where object_id = @objid
  173. order by cl.column_id
  174. --select * from sys.all_columns
  175.  
  176. -- IDENTITY COLUMN?
  177. --if @sysobj_type in ('S ','U ','V ','TF')
  178. --begin
  179. -- print ' '
  180. -- declare @colname sysname
  181. -- select @colname = col_name(@objid, column_id) from sys.identity_columns where object_id = @objid
  182. -- select
  183. -- 'Identity' = isnull(@colname,'No identity column defined.'),
  184. -- 'Seed' = ident_seed(@objname),
  185. -- 'Increment' = ident_incr(@objname),
  186. -- 'Not For Replication' = ColumnProperty(@objid, @colname, 'IsIDNotForRepl')
  187. -- -- ROWGUIDCOL?
  188. -- print ' '
  189. -- select @colname = null
  190. -- select @colname = name from sys.columns where object_id = @objid and is_rowguidcol = 1
  191. -- select 'RowGuidCol' = isnull(@colname,'No rowguidcol column defined.')
  192. --end
  193. end
  194. EXEC sys.sp_helpindex @objname
  195.  
  196. -- DISPLAY ANY PARAMS
  197. --if exists (select * from sys.all_parameters where object_id = @objid)
  198. --begin
  199. -- -- INFO ON PROC PARAMS
  200. -- print ' '
  201. -- select
  202. -- 'Parameter_name' = name,
  203. -- 'Type' = type_name(user_type_id),
  204. -- 'Length' = max_length,
  205. -- 'Prec' = case when type_name(system_type_id) = 'uniqueidentifier' then precision
  206. -- else OdbcPrec(system_type_id, max_length, precision) end,
  207. -- 'Scale' = OdbcScale(system_type_id, scale),
  208. -- 'Param_order' = parameter_id,
  209. -- 'Collation' = convert(sysname, case when system_type_id in (35, 99, 167, 175, 231, 239)
  210. -- then ServerProperty('collation') end)
  211.  
  212. -- from sys.all_parameters where object_id = @objid
  213. --end
  214.  
  215. -- DISPLAY TABLE INDEXES & CONSTRAINTS
  216. --if @sysobj_type in ('S ','U ')
  217. --begin
  218. -- print ' '
  219. -- EXEC sys.sp_objectfilegroup @objid
  220. -- print ' '
  221. -- EXEC sys.sp_helpindex @objname
  222. -- print ' '
  223. -- EXEC sys.sp_helpconstraint @objname,'nomsg'
  224. -- if (select count(*) from sysdepends where depid = @objid and deptype = 1) = 0
  225. -- begin
  226. -- raiserror(15647,-1,-1,@objname) -- No views with schemabinding reference table '%ls'.
  227. -- end
  228. -- else
  229. -- begin
  230. -- select distinct 'Table is referenced by views' = obj.name from sys.objects obj, sysdepends deps
  231. -- where obj.type ='V' and obj.object_id = deps.id and deps.depid = @objid
  232. -- and deps.deptype = 1 group by obj.name
  233.  
  234. -- end
  235. --end
  236. --else if @sysobj_type in ('V ')
  237. --begin
  238. -- -- VIEWS DONT HAVE CONSTRAINTS, BUT PRINT THESE MESSAGES BECAUSE 6.5 DID
  239. -- print ' '
  240. -- raiserror(15469,-1,-1,@objname) -- No constraints defined
  241. -- print ' '
  242. -- raiserror(15470,-1,-1,@objname) -- No foreign keys reference table '%ls'.
  243. -- EXEC sys.sp_helpindex @objname
  244. --end
  245.  
  246. return (0) -- sp_help

建表工具 一般使用PowerDesigner 当然直接在sql 里面也没问题。

-附加sql 建表 文件 父子结构 https://www.cnblogs.com/kissdodog/p/3297894.html

--demo

  1. CREATE TABLE [dbo].[FeFileLIst](
  2. [Id] [uniqueidentifier] NOT NULL,
  3. [FDBId] [int] NOT NULL,
  4. [AccId] [smallint] NOT NULL,
  5. [ClassCode] [varchar](50) NOT NULL,
  6. [FileCode] [varchar](50) NOT NULL,
  7. [FileName] [nvarchar](200) NOT NULL,
  8. [ExteName] [varchar](20) NULL,
  9. [FileSize] [decimal](18, 2) NULL,
  10. [FilePath] [nvarchar](1000) NOT NULL,
  11. [Creator] [nvarchar](50) NULL,
  12. [CreatorCode] [varchar](50) NULL,
  13. [CreateDate] [datetime] NULL,
  14. [Updater] [nvarchar](50) NULL,
  15. [UpdaterCode] [varchar](50) NULL,
  16. [UpdateDate] [datetime] NULL,
  17. [IsDelete] [tinyint] NOT NULL,
  18. [OperDept] [nvarchar](20) NULL,
  19. [RoCode] [varchar](50) NULL,
  20. CONSTRAINT [PK_FeFileLIst] PRIMARY KEY CLUSTERED
  21. (
  22. [Id] ASC
  23. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  24. ) ON [PRIMARY]
  25. GO
  26.  
  27. ALTER TABLE [dbo].[FeFileLIst] ADD DEFAULT (newsequentialid()) FOR [Id]
  28. GO
  29.  
  30. ALTER TABLE [dbo].[FeFileLIst] ADD DEFAULT ((1)) FOR [FDBId]
  31. GO
  32.  
  33. ALTER TABLE [dbo].[FeFileLIst] ADD DEFAULT ((0)) FOR [IsDelete]
  34. GO
  35.  
  36. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'Id'
  37. GO
  38.  
  39. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'帐套Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'FDBId'
  40. GO
  41.  
  42. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'AccId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'AccId'
  43. GO
  44.  
  45. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分类编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'ClassCode'
  46. GO
  47.  
  48. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'FileCode'
  49. GO
  50.  
  51. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'FileName'
  52. GO
  53.  
  54. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'扩展名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'ExteName'
  55. GO
  56.  
  57. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件大小(M)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'FileSize'
  58. GO
  59.  
  60. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件路径' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'FilePath'
  61. GO
  62.  
  63. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'Creator'
  64. GO
  65.  
  66. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建人编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'CreatorCode'
  67. GO
  68.  
  69. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'CreateDate'
  70. GO
  71.  
  72. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'Updater'
  73. GO
  74.  
  75. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新人编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'UpdaterCode'
  76. GO
  77.  
  78. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'UpdateDate'
  79. GO
  80.  
  81. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'删除标记' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'IsDelete'
  82. GO
  83.  
  84. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'操作部门' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'OperDept'
  85. GO
  86.  
  87. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'角色编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst', @level2type=N'COLUMN',@level2name=N'RoCode'
  88. GO
  89.  
  90. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件管理列表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FeFileLIst'
  91. GO
  1. ALTER view [dbo].[v_LkpFileManage] as
  2.  
  3. WITH COMMENT_CTE(id,pId,name,tLevel,isParen,Codetypes,keyIdExtend,Paths)AS(
  4. /*基本语句*/
  5. SELECT t.ClassCode as id, t.ParentCode as pId ,t.ClassName as name, 0 AS tLevel ,isParen=CAST( 'true' as nvarchar(10)) ,t.GroupCode as Codetypes ,t.id as keyIdExtend
  6. ,Paths=cast(t.ClassName as nvarchar(2000))
  7. FROM LkpFileManage t
  8. WHERE ParentCode ='' and IsDelete=0 and IsEnable=1
  9. UNION ALL /*递归语句*/
  10. SELECT t.ClassCode as id, t.ParentCode as pId ,t.ClassName as name,ce.tLevel + 1 ,isParen=CAST( 'fasle' as nvarchar(10)) ,t.GroupCode as Codetypes,t.Id
  11. ,Paths=cast(ce.Paths+'->'+t.ClassName as nvarchar(2000))
  12. FROM LkpFileManage t
  13. INNER JOIN COMMENT_CTE AS ce ON t.ParentCode = ce.id
  14. where IsEnable=1
  15. )
  16. SELECT * FROM COMMENT_CTE
  17. GO

sql读取 所有表、结构 描述的更多相关文章

  1. sql server 修改表结构

    文章来自http://blog.csdn.net/huwei2003/article/details/6076051 --修改数据库名称.表名称.字段名 --修改数据库名 sp_renamedb 'o ...

  2. Sql中获取表结构(字段名称,类型,长度,说明)

    Sql中获取表结构(字段名称,类型,长度,说明) SELECT TableName = OBJECT_NAME(c.object_id), ColumnsName = c.name, Descript ...

  3. SQL脚本修改表结构

    SQL脚本修改表结构 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default ...

  4. SQL Server 修改表结构(转载)

    SQL Server 修改表结构 本文链接:https://blog.csdn.net/petezh/article/details/81744374 查看指定表结构 exec sp_help Rep ...

  5. MySQL中使用sql语句获得表结构

    最近在研究PHP,那么就必须涉及到mysql.其中一个功能通过表数据自动生成页面,紧接着发现在一张空表中无法读取数据(因为人家刚刚新建,就是空的没有数据) 延伸出来便是直接查表结构获得字段名,再进行处 ...

  6. SQL Server 修改表结构后无法保存的老问题

    在修改表结构后无法保存,这是每次重装SQL Server后都会遇到的问题,好记性不如烂笔头,在这里记一下吧. 保存修改了的表结构时会提示“不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法 ...

  7. 获取sql server数据库表结构

    if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V')begin    DROP VIEW s ...

  8. Sql语句查看表结构

    快速查看表对的就说明,及表字段描述及字段类型 --表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOI ...

  9. sql server 查看表结构说明

    select c.name as [字段名],t.name as [字段类型] ,convert(bit,c.IsNullable) as [可否为空] ,convert(bit,case when ...

  10. SQL Server 修改表结构被阻止 解决办法

    在我们的程序开发中,有时候会由于需求的变化而要修改数据库中的表结构.可能是增减列,也可能是修改数据类型,或者修改列名等等.但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提示框 上图 ...

随机推荐

  1. Shiro学习(一)——Shiro简介

    Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大 ...

  2. 使用 Linux 文件恢复工具

    使用 Linux 文件恢复工具         Linux 文件恢复的原理 inode 和 block 首先简单介绍一下 Linux 文件系统的最基本单元:inode.inode 译成中文就是索引节点 ...

  3. Gerrit 添加用户

    使用ssh添加用户 ssh name@localhost -p 29418 gerrit create-account username --email username@email --full-n ...

  4. final和static关键字

    1.如果类只有静态方法,可以将构造函数标记为private以避免被初始化: 2.常量同时标记为static和final,常量名全部大写,下划线连接: 3.final修饰一个成员变量(属性),必须要显示 ...

  5. __init__和__new__的区别

    根据官方文档:   __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值. __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法.  也 ...

  6. Django create和save方法

    Django的模型(Model)的本质是类,并不是一个具体的对象(Object).当你设计好模型后,你就可以对Model进行实例化从而创建一个一个具体的对象.Django对于创建对象提供了2种不同的s ...

  7. Webdriver获取多个元素

    官方通过如下代码获取多个元素: List<WebElement> inputs = driver.findElements(By.xpath("//input")); ...

  8. Git submodule - 子模块【转】

    子模块 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使 ...

  9. 【系统架构】软件核心复杂性应对之道-领域驱动DDD(Domain-Driven Design)

    前言 领域驱动设计是一个开放的设计方法体系,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题,本文将介绍领域驱动的相关概念. 一.软件复杂度的根源 1.业务复杂度(软件的 ...

  10. 关于百度地图(离线)使用过程报“Cannot read property 'jb' of undefined ”错误的解决办法

    使用百度地图(离线)API时,地图无法显示,f12查看报错: BaiduApi_2.0.js:1056 Uncaught TypeError: Cannot read property 'jb' of ...