首页 > 数据库 >Oracle怎样查看某个表的约束名和约束的字段名、plsql怎样不提交执行的update

Oracle怎样查看某个表的约束名和约束的字段名、plsql怎样不提交执行的update

时间:2023-11-10 10:35:09浏览次数:41  
标签:ROLLBACK plsql -- YourTableName UPDATE update SQL 约束 name

要查看某个表的约束名和约束的字段名,你可以使用以下的 SQL 查询:

SELECT constraint_name, column_name
FROM user_cons_columns
WHERE table_name = 'YourTableName';

在这个查询中,'YourTableName' 是你要查询的表名。这条 SQL 语句将返回指定表的约束名称和对应的字段名。

如果你没有用户级别的权限,你可以尝试使用以下 SQL 来查看表的约束信息:

SELECT acc.constraint_name, acc.column_name
FROM all_cons_columns acc
JOIN all_constraints ac ON acc.constraint_name = ac.constraint_name
WHERE acc.table_name = 'YourTableName' AND ac.table_name = 'YourTableName';

在这里,'YourTableName' 是你要查询的表名。

通过执行以上 SQL 查询,你就可以查看特定表的约束名和约束的字段名了。

在PL/SQL中,你可以使用ROLLBACK语句来取消已执行的UPDATE操作,而不进行提交。ROLLBACK语句会撤销当前事务中的所有更改,包括UPDATE操作。

下面是一个简单的示例,演示如何在PL/SQL中执行UPDATE操作后不进行提交:

DECLARE
  -- 声明变量
  v_old_value VARCHAR2(50);
BEGIN
  -- 保存原始值
  SELECT column_name INTO v_old_value FROM your_table WHERE <condition>;

  -- 执行更新
  UPDATE your_table SET column_name = 'new_value' WHERE <condition>;

  -- 在这里的代码是你用来验证更新结果的逻辑

  -- 如果需要取消更新操作,可以执行ROLLBACK
  ROLLBACK;
END;

在上面的示例中,ROLLBACK语句将会取消刚才执行的UPDATE操作,使得表中的数据恢复到执行UPDATE之前的状态。请确保在真实环境中谨慎使用ROLLBACK,因为它会撤销当前事务中的所有更改,包括其他的INSERTUPDATEDELETE操作。


标签:ROLLBACK,plsql,--,YourTableName,UPDATE,update,SQL,约束,name
From: https://blog.51cto.com/u_16007699/8292732

相关文章

  • 差分约束
    差分约束关于建边,大致有两种。\(A_i\leA_j+B\)这种是跑最短路,规定了\(A_i\)的上界,会使得求出的\(A_i\)最大。\(A_i\geA_j+B\)这种是跑最长路,规定了\(A_i\)的下界,会使得求出的\(A_i\)最小。要辨认题目要求的是最大值还是最小值,从而建不同的边,跑不同的\(SP......
  • 编辑器下实现Update
    privatevoidOnEnable(){if(Application.isEditor){SceneView.onSceneGUIDelegate+=OnScene;}}privatevoidOnScene(SceneViewsceneview){if(isBursh){Rayray=HandleUtility.GUIP......
  • 在Mac上关闭Microsoft AutoUpdate 弹框提示
    1、打开terminal终端,输入文件地址 cd/Library/Application\Support/Microsoft/MAU2.0 2、将此应用程序权限设置为000,输入密码sudochmod000Microsoft\AutoUpdate.appPassword:  3、完成(如下) TRANSLATEwithxEnglishArabicHebrewPolish......
  • plsql 导入导出表数据,表结构 where 条件过滤,输入框输入 where 子查询(不需带where 关键
    plsql导入导出表数据,表结构where条件过滤,输入框输入where子查询(不需带where关键字)1.导出表结构,不含数据1.点击设置,点击导出表2.选择你要导出的表,在where字句填写1=2,点击导出即可2.导出表数据和结构在1的基础上,去掉where字句1=2,即可3.导入表结构和数据1.点击......
  • mysql 使用ON DUPLICATE KEY update实现插入或更新操作
    创建一个表CREATETABLE`userinfo`(`UserID`int(11)NOTNULL,`UserName`varchar(45)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULL,PRIMARYKEY(`UserID`))ENGINE=InnoDBDEFAULTCHARSET=utf8;想要实现,没有数据插入新数据,有数据更新数据首先......
  • select ... for update学习
    悲观锁和乐观锁乐观锁和悲观锁只是两个加锁的思路,其实现方式多种多样。以下举几个在数据库中的例子。对于一次的数据修改,我们可以大概将其分为三步。获取数据修改数据提交修改这里假设A、B两个角色对数据进行修改。乐观锁乐观锁对数据保持一个乐观态度(......
  • 约束
    一、约束1.非空约束NOTNULL在一个已创建的表的Age字段中添加NOTNULL约束如下所示:ALTERTABLE`Persons`MODIFY`Age`intNOTNULL;2.唯一约束UNIQUE2.1ALTERTABLE时的UNIQUE约束当表已被创建时,在P_Id列创建UNIQUE约束:ALTERTABLE`Persons`ADDUNI......
  • 无涯教程-H2数据库 - 更新数据(Update)
    UPDATE查询用于更新或修改表中的现有记录,无涯教程可以将WHERE子句与UPDATE查询一起使用来更新所选行,否则所有行都会受到影响。Update-语法以下是UPDATE查询的基本语法。UPDATEtableName[[AS]newTableAlias]SET{{columnName={DEFAULT|expression}}[,...]}......
  • yum update (python)
    yumupdate Traceback(mostrecentcalllast): File"/usr/bin/yum",line29,in<module>   yummain.user_main(sys.argv[1:],exit_code=True) File"/usr/share/yum-cli/yummain.py",line375,inuser_main   errcode=main(args) Fi......
  • sql 对查询结果去重,对重复数据update打标记
       1.先分组查询出来重复的SELECTsubstring(mgr_addvcd,1,6),gate_namefromyg_gate_base_bwheremgr_addvcdlike'3408%'groupbysubstring(mgr_addvcd,1,6),gate_namehavingcount(*)>1 2.再查出来重复的所有数据select*fromyg_gate_base_......