1. 如何读取sqlServer数据列的说明
declare @table_name as varchar(max)
set @table_name = '你的表名'
select sys.columns.name, sys.types.name, sys.columns.max_length, sys.columns.is_nullable,
(select count(*) from sys.identity_columns where sys.identity_columns.object_id = sys.columns.object_id and sys.columns.column_id = sys.identity_columns.column_id) as is_identity ,
(select value from sys.extended_properties where sys.extended_properties.major_id = sys.columns.object_id and sys.extended_properties.minor_id = sys.columns.column_id) as description
from sys.columns, sys.tables, sys.types where sys.columns.object_id = sys.tables.object_id and sys.columns.system_type_id=sys.types.system_type_id and sys.tables.name=@table_name order by sys.columns.column_id
2. SQLSERVER如何用脚本查看数据库处于什么高可用模式
该SQL语句会使用到sys.extended_properties目录视图。
该视图的说明如下:
说明:该视图针对当前数据库中的每个扩展属性返回一行。
具体返回结果集中每列的含义请参考MSDN文档。
示例代码如下:
例如我要查询表table1的所有列的列说明:
select A.Value,B.Name,
C.Name as TypeName,B.Max_length,B.Precision,B.Scale
from sys.extended_properties A inner join sys.columns B
on A.major_id=B.object_id
and A.minor_id=B.Column_id
inner join sys.types c on B.user_type_id=C.user_type_id
where A.major_ID=object_id('Storage_Goods') and A.Value!=''
注意:目录视图只有SQL SERVER2005及以上版本才有。
3. sqlserver “列属性——说明" sql语句的关键字是什么
下面是一个 建表, 为列 设置 说明的 例子 sql 语句。
IF EXISTS(SELECT * FROM sys.Tables WHERE name='test_table')
DROP TABLE test_table
go
CREATE TABLE test_table(
Test_ID int IDENTITY(1,1) PRIMARY KEY NOT NULL ,
Test_Key varchar(10) NOT NULL ,
Test_Value varchar(20) NOT NULL ,
Test_Type int NOT NULL ,
Test_BelongTo int,
Test_Grade int DEFAULT 1,
Test_Remark varchar(50),
Test_Visible bit DEFAULT 1
);
go
EXECUTE sp_addextendedproperty N'MS_Description', '测试表', N'user', N'dbo', N'Table', N'test_table', NULL, NULL;
go
EXECUTE sp_addextendedproperty N'MS_Description', '主键(自增长)', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_ID';
go
EXECUTE sp_addextendedproperty N'MS_Description', '种类', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Key';
go
EXECUTE sp_addextendedproperty N'MS_Description', '数值', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Value';
go
EXECUTE sp_addextendedproperty N'MS_Description', '内部类型', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Type';
go
EXECUTE sp_addextendedproperty N'MS_Description', '从属关系', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_BelongTo';
go
EXECUTE sp_addextendedproperty N'MS_Description', '等级', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Grade';
go
EXECUTE sp_addextendedproperty N'MS_Description', '备注', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Remark';
go
EXECUTE sp_addextendedproperty N'MS_Description', '是否可见', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Visible';
go
4. 在SQLserver中列明不明确是什么原因
是你用了多张表中有相同列名了吧。如果检索这样的列前面增加表名就可以了比如
select TableA.A,TableB.A from TableA,TableB 就可以。
5. sqlserver语句添加列(简单)
sqlserver语句添加列步骤如下:
1、首先我们准备一个数据表,接下来将会在这个表中添加列。
6. SqlServer如何查询表的列数
select count(name) from syscolumns
where id=( select id from sysobjects where name='表名' and xtype='U')
说明:select id from sysobjects where name='表名' and xtype='U' 从sysobjects 里查询表类型为U(非系统)的表的id ,假设查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系统列syscolumns 里表id是1002的列数。
你可以随便建个表,然后分步运行这两句看看
7. 建立数据表 列属性说明怎么显示
给你个sqlserver例子吧,,,
这上面两种方式的说明,你描述的应该是执行下面的过程的方式
CREATETABLET_WORKINFO_TEMPLATE
(
WORKINFO_TEMPLATE_IDCHAR(36)PRIMARYKEY,--主键
COMPONENTREFERENCEVARCHAR(400),--相关设备
ITEMNAMEVARCHAR(200),--
ITEMCONTENTVARCHAR(2000),--保养内容
PERIODNUMERIC(9,2),--预检周期
PERIODICALVARCHAR(10),--周期的单位,数据取T_PERIODICAL
REMARKVARCHAR(4000),--备注
CLASSVARCHAR(20)--类别
)ON[PRIMARY]
GO
execsp_addextendedpropertyN'MS_Description',N'主键',N'user',N'dbo',N'table',N'T_WORKINFO_TEMPLATE',N'column',N'WORKINFO_TEMPLATE_ID'
execsp_addextendedpropertyN'MS_Description',N'相关设备',N'user',N'dbo',N'table',N'T_WORKINFO_TEMPLATE',N'column',N'COMPONENTREFERENCE'
8. 请问SQL Server 2008 表设计里面的说明列在哪里设置显示。
在注册表中查找对应SSMS的版本号(Sqlserver2016对应13.0)下的(HKEY_CURRENT_.0DataProject)SSVPropViewColumnsSQL70,SSVPropViewColumnsSQL80,并修改为1,2,6,17;然后重启SSMS。需要注意的是,如果连接的数据库非本地的情况下,则修改的注册表是连接的数据库所在的计算机的注册表。
参考链接
9. sqlserver语句添加列(简单)
语句为:
alter table A
add BVARCHAR(50)
create table C
(Dvarchar(10),
Evarchar(10),
F varchar(10),
G varchar(10),
constraint pk_D primary key (D)
)
(9)sqlserver列说明扩展阅读:
注意事项
一、增加列:
1、alter table tableName add columnName varchar(30)
2、ALTER TABLE dbo.doc_exa ADD column_b VARCHAR(20) NULL, column_c INT NULL ;
二、修改列类型:
alter table tableName alter column columnName varchar(4000)
三、修改列的名称:
1、EXEC sp_rename 'tableName.column1' , 'column2' (把表名为tableName的column1列名修改为column2
下面的示例将TerritoryID表中的Sales.SalesTerritory列重命名为TerrID。
USE AdventureWorks2012;
GO EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
GO
2、删除列
alter table tableName drop column columnName
3、指定表中某列默认数据
ALTER TABLE dbo.doc_exz ADD CONSTRAINT col_b_def DEFAULT 50 FOR column_b ;
10. 在SQLserver中列明不明确是什么原因
比如
a表有id,b表也有id,如果两个表都出现的话,使用id时,必须标明是a.id或者b.id,否则就会报列名不明确
select id -- 错误
,a.id --正确
from a,b
where a.id = b.id