数据库视图+如何删除没有主键约束名的约束。
2017-12-01 17:16
363 查看
create view view_user as
select id, name from [user].[dbo].[course]
go
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
drop view view_user
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
select * from view_user where view_user.id=5;
从[user].[dbo].[course]中找到 id, name 然后调用的时候从view_user 视图中找到视图中某列的数据。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Select * from SYS.objects
declare @name sysname;
declare @TB_NAME sysname
set @TB_NAME='course'//表名
SELECT TOP 1 @NAME = NAME FROM SYS.OBJECTS WITH(NOLOCK)
WHERE TYPE_DESC ='PRIMARY_KEY_CONSTRAINT'
AND PARENT_OBJECT_ID = (SELECT OBJECT_ID
FROM SYS.OBJECTS WITH(NOLOCK) WHERE NAME = @TB_NAME )
根据表名查到表名的id然后根据type_DESC为'PRIMARY_KEY_CONSTRAINT'和父id为表id查到约束名。
select id, name from [user].[dbo].[course]
go
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
drop view view_user
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
select * from view_user where view_user.id=5;
从[user].[dbo].[course]中找到 id, name 然后调用的时候从view_user 视图中找到视图中某列的数据。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Select * from SYS.objects
declare @name sysname;
declare @TB_NAME sysname
set @TB_NAME='course'//表名
SELECT TOP 1 @NAME = NAME FROM SYS.OBJECTS WITH(NOLOCK)
WHERE TYPE_DESC ='PRIMARY_KEY_CONSTRAINT'
AND PARENT_OBJECT_ID = (SELECT OBJECT_ID
FROM SYS.OBJECTS WITH(NOLOCK) WHERE NAME = @TB_NAME )
根据表名查到表名的id然后根据type_DESC为'PRIMARY_KEY_CONSTRAINT'和父id为表id查到约束名。
SELECT @NAME DECLARE @ALTERSQL NVARCHAR(MAX) SET @ALTERSQL=N'ALTER TABLE '+@TB_NAME+' DROP CONSTRAINT '+@NAME+" EXEC SP_EXECUTESQL @ALTERSQL |
相关文章推荐
- 数据库没有对约束设置名称如何删除约束(oracle)
- MSSQL如何在没有主键的表中删除重复数据
- 如何删除通过主键和唯一约束创建的索引
- SQL2000如何删除没有名字的数据库
- 关于SQL Server 2000如何找到并删除没有起名的约束
- 数据库表没有单一主键时,可以使用ROWID作为主键删除数据(Oracle)
- sqlserver中如何删除没有主键的重复数据。
- MSSQL如何在没有主键的表中删除重复数据
- 数据库__SQL的主键和外键约束_级联更新_级联删除
- sql查询表结构,过程,视图,主键,外键,约束_数据库
- 如何删除通过主键和唯一约束创建的索引
- 数据库创建表时没有指定主外键,hibernate 如何 may to one的解决办法,按主键关联也是one to one的一种
- 创建数据库、表、主外键、各种约束、存储过程、视图、索引、事务使用、触发器、创建登录账号、数据库用户 Sql语句示例
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- 如何从数据库的完整日志模式还原误删除的数据
- JAVA hibernate中删除表遇到主键被外键引用,违反完整约束条件,不能删除的问题
- SE16如何删除或修改数据库表
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- Oracle中如何创建约束,查询约束和删除约束(check约束,外键和主键约束)
- 删除某个表不知名称的主键约束并加到另一列上