Shi*_*iny 29 sql sql-server sql-server-ce
我想知道表是否有标识列.表格不为我所知.我还没有完成表格的结构.使用查询?
我正在使用Sql Server Compact Edition.
Pra*_*ana 21
这是返回标识列名称的查询;
create procedure GetIdentity
@tablename varchar(50)
begin
SELECT OBJECT_NAME(OBJECT_ID) AS TABLENAME,
NAME AS COLUMNNAME,
SEED_VALUE,
INCREMENT_VALUE,
LAST_VALUE,
IS_NOT_FOR_REPLICATION
FROM SYS.IDENTITY_COLUMNS
WHERE OBJECT_NAME(OBJECT_ID) = @tablename
end
Run Code Online (Sandbox Code Playgroud)
然后形成代码方面.
使用datareader角色调用此存储过程,然后检查datareader.hasrows().如果条件值为true(1),则表具有标识列(如果已设置).如果没有,那么它没有标识列.
Wah*_*tar 14
我知道很久以前但我觉得这很有帮助
试试这个 :
IF EXISTS (SELECT * from syscolumns where id = Object_ID(@TABLE_NAME) and colstat & 1 = 1)
BEGIN
-- Do your things
END
Run Code Online (Sandbox Code Playgroud)
小智 9
以下任何查询都可用于检查表中是否存在标识列
1)
SELECT *
FROM sys.identity_columns
WHERE OBJECT_NAME(object_id) = 'TableName'
Run Code Online (Sandbox Code Playgroud)
2)
SELECT *
FROM sys.identity_columns
WHERE object_id = (
SELECT id
FROM sysobjects
WHERE name = 'TableName'
)
Run Code Online (Sandbox Code Playgroud)
小智 9
IF (OBJECTPROPERTY(OBJECT_ID('TABLE_NAME'), 'TableHasIdentity') = 1)
Run Code Online (Sandbox Code Playgroud)
ObjectProperty可以从sql server 2008开始参考:
OBJECTPROPERTY
我只想添加这个选项,因为我认为它是最简单的
SELECT COLUMNPROPERTY(OBJECT_ID('TableName'),'ColumnName','isidentity')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40315 次 |
| 最近记录: |