小编Jus*_*ave的帖子

Sql Insert语句返回"零/无行插入"

我正在编写一个INSERTStatement,在PL/SQL块中向表中插入一行.如果此插入失败或没有插入行,那么我需要回滚先前执行的更新语句.

我想知道在什么情况下INSERT语句可以插入0行.如果插入因某些异常而失败,我可以在异常块中处理它.是否存在INSERT可能成功运行但不会抛出异常的情况,我需要检查是否SQL%ROWCOUNT < 1

oracle plsql insert

7
推荐指数
1
解决办法
2万
查看次数

按财政年度分组(Oracle)

在Oracle中有没有办法可以拉动风云?我用下面的脚本只拉了两个风云.Mytable日期范围从1998财年到2009财年.

 SELECT 'FY2008' as FY, 
         Site, 
         COUNT(*) 
    FROM mytable 
   WHERE date >='10-OCT-2007' 
     AND date <'10-OCT-2008' 
GROUP BY site
Run Code Online (Sandbox Code Playgroud)
 SELECT 'FY2008' as FY, 
         Site, 
         COUNT(*) 
    FROM mytable 
   WHERE date >='10-OCT-2008' 
     AND date <'10-OCT-2009' 
GROUP BY site
Run Code Online (Sandbox Code Playgroud)

拉动两个FY是可以的,但是当拉动超过10 FY时它太重复了.

oracle

6
推荐指数
1
解决办法
2938
查看次数

如何从游标中获取,删除,提交

我试图从表中删除很多行.我想尝试将我想要删除的行放入游标,然后继续对游标的每一行进行获取,删除,提交,直到它为空.

在下面的代码中,我们是fetching行并将它们放在一个TYPE.

如何修改以下代码以从图片中删除TYPE,只需fetch,delete,commit对光标本身进行操作即可.

    OPEN bulk_delete_dup;
    LOOP
        FETCH bulk_delete_dup BULK COLLECT INTO arr_inc_del LIMIT c_rows;

        FORALL i IN arr_inc_del.FIRST .. arr_inc_del.LAST
              DELETE FROM UIV_RESPONSE_INCOME 
              WHERE ROWID = arr_inc_del(i);

        COMMIT;
        arr_inc_del.DELETE;
        EXIT WHEN bulk_delete_dup%NOTFOUND;
    END LOOP;
    arr_inc_del.DELETE;
    CLOSE bulk_delete_dup;
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

6
推荐指数
1
解决办法
4万
查看次数

物化视图:如何查找刷新期间应用的更新,插入和删除的数量?

我使用基本物化视图和按需快速刷新功能从我们的OLTP Oracle数据库中掌握了一个数据集市.刷新工作正常.我有兴趣添加的是有关每个物化视图刷新的一些统计信息,例如自上次刷新以来应用于主表的插入,更新和删除的数量,就像我可以找到的数据一样user_tab_modifications.物化视图有可能吗?

oracle materialized-views

6
推荐指数
1
解决办法
8219
查看次数

Oracle重复行N次,其中N是列

我是Oracle的新手,我正在尝试做一些不寻常的事情.鉴于此表和数据,我需要选择每一行,并重复DupCount大于1的行.

create table TestTable
(
  Name     VARCHAR(10),
  DupCount NUMBER
)

INSERT INTO TestTable VALUES ('Jane', 1);
INSERT INTO TestTable VALUES ('Mark', 2);
INSERT INTO TestTable VALUES ('Steve', 1);
INSERT INTO TestTable VALUES ('Jeff', 3);
Run Code Online (Sandbox Code Playgroud)

期望的结果:

Name        DupCount
---------   -----------
Jane        1
Mark        2
Mark        2
Steve       1
Jeff        3
Jeff        3
Jeff        3
Run Code Online (Sandbox Code Playgroud)

如果通过单个select语句无法做到这一点,那么我们将非常感谢您对存储过程的任何帮助.

sql oracle oracle10g

6
推荐指数
2
解决办法
3791
查看次数

如何使用正则表达式验证zipcode?

如何使用正则表达式验证zipcode?

它应该是以下模式: -

[A-z][0-9][A-Z] [0-9][A-Z][0-9]
Run Code Online (Sandbox Code Playgroud)

例如

B5D 2M4 
b5d 2m4 
Run Code Online (Sandbox Code Playgroud)

我正在使用Oracle9i.

谢谢你,Shubhojwal Ghosh

regex oracle

5
推荐指数
1
解决办法
1289
查看次数

用户取消程序ORA-01013时出现异常

我们有一个处理数据库中大量记录的过程.现在有时如果程序花费的时间过长,则用户手动取消该程序,从而抛出ORA-01013 EXCEPTION.但是,我们仍然想知道在取消程序之前处理了多少记录.我们尝试生成在EXCEPTION WHEN OTHERS块中调用的日志,但该块中的任何代码似乎都不起作用.我们甚至试图通过PRAGMA INIT EXCEPTIONORA-01013 提出一个例外而无济于事.代码似乎达到了异常但不执行任何代码.我猜测,由于该过程被取消,EXCEPTION块中的代码没有时间做任何事情而只是关闭.

知道如何获取在取消程序之前处理的记录的计数?我可以尝试在每次commit发生时增加记录但是想知道是否有更好的方法来实现这一点

oracle plsql exception-handling oracle11g

5
推荐指数
1
解决办法
1752
查看次数

我们可以在oracle中命名默认约束吗?

在MS-SQL中,我们可以在表创建期间具有以下约束

create table test
(
  WarningEnabled bit NOT NULL CONSTRAINT DF_WarningEnabled   DEFAULT 1,
);
Run Code Online (Sandbox Code Playgroud)

我们可以看到,我给出了Default约束的名称.是否可以在oracle中执行此操作

oracle oracle10g

5
推荐指数
1
解决办法
2623
查看次数

Oracle XE中未启用位图索引

我正在使用Oracle 10g XE(快速版).如果我尝试创建位图索引,我会收到错误

ORA-00439功能未启用:位映射索引

如何解决此问题并创建位图索引?

oracle indexing oracle10g bitmap-index

5
推荐指数
1
解决办法
7807
查看次数

什么是针对Oracle的最佳IDE?

我使用ORACLE 8.0。我知道如何在SQLPLUS中运行oracle SQL命令。
我进行搜索以找到诸如SQL Server Management Studio之类的IDE,但找不到它。
什么是ORACLE的最佳IDE?谢谢

ide oracle sqlplus oracle8

5
推荐指数
1
解决办法
3万
查看次数