Oracle删除表主键语句
删除无名主键语句:
SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME = '表名';
ALTER TABLE 表名 DROP CONSTRAINT 主键名称;
上面语句需要手动,如何自动执行?看下面:
CREATE OR REPLACE FUNCTION DEL_TABLE_CONSTRAINT (tb_name VARCHAR2,
field_name VARCHAR2)
RETURN NUMBER
IS
con_count NUMBER;
con_name VARCHAR2 (32);
BEGIN
con_name := '';
con_count := 0; SELECT COUNT (DISTINCT constraint_name)
INTO con_count
FROM user_cons_columns
WHERE table_name = UPPER (tb_name)
AND column_name = UPPER (field_name)
AND ROWNUM = 1; IF con_count > 0
THEN
SELECT DISTINCT constraint_name
INTO con_name
FROM user_cons_columns
WHERE table_name = UPPER (tb_name)
AND column_name = UPPER (field_name)
AND ROWNUM = 1; EXECUTE IMMEDIATE
'alter table ' || tb_name || ' drop constraint ' || con_name;
END IF; RETURN 0;
END;
这样执行
DECLARE
a NUMBER;
BEGIN
a := DEL_TABLE_CONSTRAINT ('表名', '字段名');
END;
/
Oracle删除表主键语句的更多相关文章
- oracle 建表 主键自增序列/////
oracle 建表 主键自增序列 (2011-10-12 11:59:22) 转载▼ 标签: 杂谈 分类: oracle SQL> create table sms_activity( 2 ...
- mysql 如何修改、添加、删除表主键
在我们使用mysql的时候,有时会遇到须要更改或者删除mysql的主键,我们能够简单的使用alter table table_name drop primary key;来完成.以下我使用数据表tab ...
- oracle 删除表和数据分析语句
TRUNCATE TABLE 表名;ANALYZE TABLE 表名 ESTIMATE STATISTICS;
- Oracle使用游标为所有用户表添加主键语句
应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在I ...
- SQL语句获取数据库中的表主键,自增列,所有列
SQL语句获取数据库中的表主键,自增列,所有列 获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...
- SQLServer中查询表结构(表主键 、列说明、列数据类型、所有表名)的Sql语句
SQLServer中查询表结构(表主键 .列说明.列数据类型.所有表名)的Sql语句 1.查询数据库中的所有表名称: SELECT name FROM SysObjects Where XType=' ...
- 一个7重嵌套表EF添加语句,注意子表赋值过程中只需写子表主键赋值,不需要写子表外键=父表主键。EF创建时会自动将子表外键设为与父表主键相等
AIRPORT_HELIPORT tt = new AIRPORT_HELIPORT() { AIRPORT_HELIPORT_UUID = Gui ...
- 设置MySQL数据表主键
设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...
- SQLITE数据表主键设置Id自增方法
SQLITE数据表主键设置Id自增方法 标签: sqliteintegerinsertnulltableapi 2010-01-12 08:39 35135人阅读 评论(8) 收藏 举报 分类: S ...
随机推荐
- 在eclipse中查找指定文件
1.ctrl+h打开搜索界面 File Search: containing text填*,File name patterns填写hello.*,可以找到hello为命名的文件 知道文件类型,查找里 ...
- UITextField详解
UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //初始化textfield并 ...
- 【教程】【FLEX】#003 自定义事件、模块间通讯
本篇笔记,主要阐明 事件是如何创建 和 如何使用自定义事件达到模块之间通讯 的效果. 句子解释: 什么叫做模块之间的通讯呢?? 简单点说,就是两个模块之间可以互相传数据. A模块 可以接收到 B模块的 ...
- dll 学习(一)
DLL(Dynamic Link Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了"无库-静态链接库-动态链接库 ...
- c# 控制服务启动停止
public string StartService(string serviceName, bool serviceFlag) { try { using (System.ServiceProces ...
- MSP430F149学习之路——LED
#include <msp430x14x.h> void int_clk(); void delay(int i); void main() { WDTCTL = WDTPW + WDTH ...
- 关于MPEG2中的图像序列和图像组头GOP
图像序列 图像序列是由图像组构成的,是随机存取段落. sequence_header_code – The sequence_header_code is the bit string ‘000001 ...
- 火箭18号秀光膀为父母割草(FW)
火箭18号秀光膀为父母割草 一夜致富不改本色 来源:新浪 2015年06月30日 分享到: 更多 收藏 分享 被浏览5次 <ignore_js_op id="r_article_i ...
- Android基础总结(2)——活动Activity
1.什么是活动(Activity) 活动(Activity)是一种可以包含用户界面的组件,主要用于和用户进行交互.一个应用程序中可以包含零个或多个活动,但不包含任何活动的应用程序很少见. 2.怎么使用 ...
- Java之注解
package com.demo.test; import java.lang.annotation.Documented; import java.lang.annotation.ElementTy ...