精华内容
下载资源
问答
  • Oracle判断主键

    2019-04-08 08:33:01
    Oracle判断主键 作者:邱名涛 撰写时间:2019年4月1日 关键技术:Oracle 1.如何判断那些表没有建立主键 2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。 3.其它相关数据字典解释 :user_...

    Oracle判断主键
    作者:邱名涛
    撰写时间:2019年4月1日
    关键技术:Oracle

    1.如何判断那些表没有建立主键
    2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。
    3.其它相关数据字典解释 :user_tables 表
    user_tab_columns 表的列
    user_constraints 约束
    user_cons_columns 约束与列的关系
    user_indexes 索引
    user_ind_columns 索引与列的关系

    //1.创建一张测试表

    例、CREATE TABLE text(
    employee_id NUMBER(6) primary key , //(primary key:设置主键)
    last_name VARCHAR2(25) NOT NULL,
    email VARCHAR2(25)constraint empl0_u unique,
    salary NUMBER(8,2) check (salary>2000 and salary<50000),
    commission_pct NUMBER(2,2),
    hire_date date,
    department_id NUMBER(4),
    FOREIGN KEY (department_id) REFERENCES departments(department_id)
    );

    //2.创建好所有表后,可以查询一下用户表。(查询最近新增的表)

    例、select * from User_tables
    在这里插入图片描述

    3.再查询表的约束(加上Where条件,过滤带有主键’p’的数据)

    例、select * from user_constraints --user_constraints:查询表的约束
    where constraint_type=‘P’ --constraint_type:主键为P
    在这里插入图片描述

    4.最后查询用户表和约束表,将带有主键标识’p’和Table_name相同数据显示出来
    SELECT table_name
    FROM User_tables t
    WHERE NOT EXISTS (SELECT table_name
    FROM User_constraints c
    WHERE constraint_type = ‘P’
    AND t.table_name=c.table_name)

    在这里插入图片描述

    展开全文
  • SQL判断表是否有主键,如何添加主键和移除主键 这是一个很好的例子个大家分享,以后我会及时更新
  • 判断表的主键

    2010-04-07 19:46:32
    select a.table_name,b.column_name, b.position from USER_CONSTRAINTS a, USER_CONS_COLUMNS b where a.constraint_name = b.constraint_name and a.constraint_type='P' and b.table_name = 'ETL_NODE_RUN_.....
    select a.table_name,b.column_name, b.position 
    
    from USER_CONSTRAINTS a, USER_CONS_COLUMNS b
    where a.constraint_name = b.constraint_name and a.constraint_type='P' and b.table_name = 'ETL_NODE_RUN_CFG';


    (select c.COLUMN_ID, c.COLUMN_NAME, c.DATA_TYPE, c.DATA_LENGTH, c.NULLABLE,'N' ISPK FROM ALL_TAB_COLUMNS c WHERE c.OWNER = 'PETL' AND c.TABLE_NAME ='ETL_NODE_RUN_CFG' and (c.COLUMN_NAME not in (select b.column_name from USER_CONSTRAINTS a, USER_CONS_COLUMNS b where a.constraint_name = b.constraint_name and a.constraint_type='P' and b.owner = 'PETL' and b.table_name = 'ETL_NODE_RUN_CFG'))) union all (select c.COLUMN_ID, c.COLUMN_NAME, c.DATA_TYPE, c.DATA_LENGTH, c.NULLABLE,'Y' ISPK FROM ALL_TAB_COLUMNS c WHERE c.OWNER = 'PETL' AND c.TABLE_NAME ='ETL_NODE_RUN_CFG' and (c.COLUMN_NAME in (select b.column_name from USER_CONSTRAINTS a, USER_CONS_COLUMNS b where a.constraint_name = b.constraint_name and a.constraint_type='P' and b.owner = 'PETL' and b.table_name = 'ETL_NODE_RUN_CFG'))) order by COLUMN_ID;
    展开全文
  • 查询oracle表字段并判断是否主键

    千次阅读 2020-11-02 15:43:27
    select a.column_name name,case when a.column_name=t.column_name then 1 else 0 end isKey from user_tab_columns a left join (select b.table_name,b.column_name from user_cons_columns b ...
    select a.column_name name,case when a.column_name=t.column_name then 1 else 0 end isKey
    from user_tab_columns a
    left join (select b.table_name,b.column_name from user_cons_columns b
    join user_constraints c on c.CONSTRAINT_NAME=b.CONSTRAINT_NAME
    where c.constraint_type   ='P') t
    on a.table_name=t.table_name
    where a.table_name='TEST';

     

     
    展开全文
  • 一,为DataTable设置主键 如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的...

    一,为DataTable设置主键


    如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的Select方法是一样的效果了。当然,利用DataTable.Select("能确定唯一的条件").Rows[0]也可以找到与利用主键查找到的一样的信息。

    DataTable的主键属性为PrimaryKey,利用该属性,我们可以设置或者获取DataTable的主键。因为DataTable的主键和SQL Server的主键一样,存在联合主键的问题,所以PrimaryKey应该是一个DataColumn数组。我们可以先设置一个DataColumn数组,当然,这个数组中的列都应该是该DataTable中的列。然后将这个数组赋给PrimaryKey属性作为DataTable的主键。

    以下为设置PrimaryKey的示例:
    //先声明一个DataTable
    DataTable dt = new DataTable();
    dt.Columns.Add("A");
    dt.Columns.Add("B");
    dt.Columns.Add("C");
    dt.Columns.Add("D");
                
    //然后我们将列A与列B作为dt的联合主键
    DataColumn[] cols = new DataColumn[] { dt_smartgrid.Columns["A"], dt_smartgrid.Columns["B"] };
    dt.PrimaryKey=cols;

    很简单,我们就为dt设置好主键了。

    二,利用主键查找行数据


    上一步我们已经为DataTable设置好主键,这一步我们演示如何利用主键查找数据。
    首先我们要声明一个object[]数据,对应主键的数组中列的值,如上面的主键数组,我们声明一个object[]数组并赋值。
    示例:
    object[] objs=new object[]{"school","class"};
    DataRow dr=dt.Rows.Find(objs);

    上面的dr就是我们利用主键查找出来的唯一的行。当然,我们也可以利用如下方法来查找到该行数据:
    DataRow dr=dt.Select("A='school' and B='class'").Rows[0]

    两种方法查出来的效果是一样的。
    展开全文
  • 给表增加主键,先判断表是否存在主键 给表增加主键,同时需要判断该表是否存在主键,也需要处理将该字段先处理为不为null。如下处理: 1 GO 2 IFNOTEXISTS(select1fromsysobjectswherextype='PK'andparent_...
  • 主要介绍了Oracle判断表、列、主键是否存在的方法,下面是小编之家小编给大家带来的一些判断方法和大家分享下
  • 关于navicat设置主键属性identity

    千次阅读 2016-05-13 12:51:52
    起初没有注意,然后在做插入操作时,hibernate报出异常,意思是主键不能为空。 解决方法: 1.将navicat要操作的表导出:数据库名->dbo->Tables->表名->右键Export Wizzard或 2.找到导出的sql文件,用txt打开...
  • 在Hibernate的映射文件中,我们配置与数据库中的表所对应的主键时,要使用generator元素,而该元素的作用是指定主键的生成器。如果需要传递参数,则需要通过子元素param指定。这里我们就使用主键ID来举例说明。...
  • MyBatis Plus主键设置策略

    万次阅读 多人点赞 2018-08-17 12:25:00
    根据一次插入失败报错来了解下MyBatis Plus主键设置策略 今天学习使用MyBatis Plus,发现使用代码生成器生成对应的实体类、Service和Mapper后,在保存数据时报错 ...
  • 如何判断主键重复

    千次阅读 2006-03-20 16:07:00
    onPostError 中加入以下语句:for ErrCount :=0 to ADOConnection1.Errors.Count-1 do if ADOConnection1.Errors.Item[ErrCount].Number = -2147217873 then showmessgae(主键重复.) (应该不同版本,错误代码号是...
  • MySql设置唯一标识主键设置

    千次阅读 2018-10-29 11:55:53
    主键可以多个列和起来作为一个 唯一键不行 //在数据库表中 只有设置一个int类型的字段为主键,才可以设这个字段为标识列,标识列的作用就是一个可以自动增长的数字,如消息id,唯一并且不重复,是消息唯一标识...
  • 判断字段是否存在: if not exists(select * from syscolumns where id=object_id('temphlxf') and name='...判断主键是否存在: IF EXISTS (select * from sysobjects where parent_obj=object_id(N'temp
  • Oracle 判断列、表、主键是否存在

    千次阅读 2019-02-19 17:26:10
    判断表是否存在 declare n_count number; --声明变量存储要查询的表是否存在 begin select count(1) into n_count from user_tables t where t.table_name = upper('表名'); --从系统表中查询当表是否存在 if...
  • nhibernate_template 模版(加了主键为空判断)。如果有需要也可以在模版基础上自己定义内容。
  • SQL语句判断某列是否是主键

    千次阅读 2019-07-13 19:29:08
    主键 10 , isnull (b.COLUMN_DEFAULT, '' ) as 预设值 11 ,b.IS_NULLABLE as 是否允许空值 12 ,( SELECT value 13 FROM fn_listextendedproperty ( NULL , ' schema ' , a.Table_schema, ...
  • JS通过主键ID判断是否选中

    千次阅读 2018-04-10 10:34:07
    //判断是否处于选中状态{ field : 'RECORD_DATA_ ID', title : '是否选中', sortable : false, formatter : function(value, row, index) { var ss = ""; ss = "&lt;...
  • if :new.configurate_id is null then --判断主键id是否为空 :new.configurate_id:=sys_guid();--设置uuid end if; if :new.create_time is null then--判断创建时间是否为空 :new.create_time:=SYSDATE();--...
  •  /// 判断数据表中记录的主键值是否存在外键约束  ///  /// 主键表  /// 数据表中某条记录主键的值  ///  public bool IsExistConstraint(string strPrimaryTable,string strPrimaryValue)  
  • 判断表的存在 select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1 某个表的结构 select * from syscolumns where id = object_id(N\'[dbo...
  • 改写的两个mysql存储过程,用于判断主键外键 由于所在的数据库没有系统自带的sp_pkeys,sp_fkeys,所以改写了如下: sp_pkeys CREATE PROCEDURE `testdb`.`sp_pkeys` (IN table_name varchar(50),IN table_owner ...
  • C# 判断某列是否为主键

    千次阅读 2007-12-19 06:39:00
    /// /// 判断某列是否为主键 /// /// 列的物理名称 /// 表名 /// public bool IsPrimaryKey(String columnName,String tableName) { SqlParameter[] parameters = new SqlParameter[3];...
  • SQL:根据主键判断如果不存在插入,存在更新 <insert id="insertOrUpdate" parameterType="Authshiming"> insert into authshiming ( authid , paytype , ...
  • sql 中设置联合主键怎么设

    千次阅读 2013-06-21 00:33:10
    ALTER TABLE 表名字 ADD CONSTRAINT pk_表名字 PRIMARY KEY( SNumber, SDate ); SNumberSDate必须不能为空字段

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 145,608
精华内容 58,243
关键字:

判断并设置主键