小编Jef*_*emp的帖子

突出显示两个字符串之间的差异

如果我有两个很长的字符串VARCHAR2,是否可以通过简单的方法或算法将其复制或移植到PL / SQL进行比较,然后插入标记(即,在网页中呈现时将突出显示差异)。

例如:

BEGIN
  DBMS_OUTPUT.put_line(
    markup_differences
         (in_old     => 'Hello world, this is your captain speaking.'
         ,in_new     => 'Hello WORLD, this is not your captain.'
         ,in_preins  => '<ins>'
         ,in_postins => '</ins>'
         ,in_predel  => '<del>'
         ,in_postdel => '</del>'
         ));
END;
Run Code Online (Sandbox Code Playgroud)

预期产量:

Hello <del>world</del><ins>WORLD</ins>, this is <ins>not</ins> your captain
<del>speaking</del>.
Run Code Online (Sandbox Code Playgroud)

注意,这表明“ world”已更改为“ WORLD”,插入了“ not”,并且已删除了“ speaking”。

背景:我的目的是比较两个最相似的HTML片段,并用高亮标记它们以在浏览器中显示。性能将不是优先事项。这是用于一次性应用程序的,所以我不是一个完美的解决方案。即使某事让我参与其中,总会有总比没有好-而且我还没有向客户承诺任何事情:)

另外,我可以轻松地将Javascript的简单解决方案轻松集成到Apex应用程序中。

oracle plsql string-comparison oracle11gr2

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

如何在我的查询中添加组内的行号

我试过这个查询:

SELECT X,Y,Z,COUNT(*) 
FROM TABLE1 
GROUP BY X,Y,Z
Run Code Online (Sandbox Code Playgroud)

我的结果是:

在此处输入图片说明

但我需要以下结果:

在此处输入图片说明

sql oracle

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

ORA-01722:无效的号码

我得到臭名昭着的无效数字Oracle错误.Hibernate发布了一个包含很多列的INSERT,我只想知道给出问题的列的名称.可能吗?

仅供参考,插入是这样的:

insert into GEM_INVOICE_HEADER 
   (ENDORSEE_ACCOUNT_ID, INVOICE_CODE, APPROVAL_ORGAN, APROVAL_DATE, APROVAL_REFERENCE, BALANCE_BASE_AMOUNT, BALANCE_DEDUCT_AMOUNT, BALANCE_TOTAL_AMOUNT, BALANCE_VAT_AMOUNT, BALANCE_VAT_DED_AMOUNT, BALANCE_VAT_NOT_DED_AMOUNT, DESCRIPTION, SUPPLIER_INVOICE_NUMBER, INVOICE_DATE, RECEIPT_DATE, MEMO, VAT_INTRACOM, INVOICE_BASE_AMOUNT, INVOICE_VAT_AMOUNT, INVOICE_VAT_DED_AMOUNT, INVOICE_VAT_NOT_DED_AMOUNT, INVOICE_DEDUCT_AMOUNT, INVOICE_TOTAL_AMOUNT, VAT_EXEMPT, RECTIFICATION_SIGN, REASON, LOT, FILE_ID, RETAINED, INSTITUTION_ID, PERIOD_CODE, IS_RECTIFIED, DEFAULT_OFFBUDGET_ACCOUNT, OFFBUDGET_DOC_ID, PHASE_OF_ACCOUNTING, ACCOUNTED_OFF_BUDGET, CANCEL_DOC_ID, BUDGET_TYPE, INVOICE_TYPE, SOURCE_ID, STATE_ID, MANAGER_UNIT_ID, DOCUMENT_TYPE_CODE, ACCOUNTED_DOC_ID, ACCOUNTING_LIST, ENDORSEE_ID, PAYMASTER_ID, SUPPLIER_ID, SUPPLIER_ACCOUNT_ID, PAY_JUSTIFY_ID, PETTY_CASH_ID, DBOID) 
values 
   (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, …
Run Code Online (Sandbox Code Playgroud)

sql oracle ora-01722

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

Sql查询优化和分析

假设我的查询效果不佳.你通常如何进行sql优化?我应该在查询执行计划中看到的第一件事是什么?有关于此的好文章或书吗?

sql oracle optimization plsql

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

页面项目值内不允许逗号?顶尖

我试图将全名从一页传递到另一页。

但是当我在文本字段中输入“Tyler, Brown”并重定向到下一页时。

在此处输入图片说明

剩下的值变成了“泰勒”

在此处输入图片说明

什么 apex 不允许在页面项的值中使用逗号?

有没有办法解决这个问题?

oracle oracle-apex

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

轮询 Oracle DB 以了解更改

我试图弄清楚如何在不使用触发器的情况下轮询对 Oracle 表所做的更改。我目前关心的唯一变化是新的/插入的记录。任何建议将不胜感激。

我也真的不想使用其他表来跟踪已更改的内容。

谢谢!

c# oracle plsql

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

如何在oracle 10g中创建存储过程的错误日志?

我需要一个在oracle中为存储过程创建错误日志文件的示例.请给我一个表创建和存储过程创建和错误日志创建的示例.

提前致谢

编辑(其他问题的相关信息)

假设有一个存储过程.当我执行该存储过程时,可能会发生一些预期的错误/异常,因此我需要创建一个错误日志表,其中每当我执行存储过程时,所有错误都将自动存储.

例如,如果某些列不允许空值,但用户输入空值,则应生成该错误,并将其存储在错误日志表中.

oracle logging stored-procedures oracle10g

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

ORA-01843"无效月份"和ORA-01861"文字与格式字符串不匹配"

SQL> select to_timestamp('2010-12-14:09:56:53') - to_timestamp('2010-12-14:09:56:46') from dua
l;
select to_timestamp('2010-12-14:09:56:53') - to_timestamp('2010-12-14:09:56:46') from dual
                    *
ERROR at line 1:
ORA-01843: not a valid month


SQL> select to_date('2010-12-14:09:56:53') - to_date('2010-12-14:09:56:46') from dual;
select to_date('2010-12-14:09:56:53') - to_date('2010-12-14:09:56:46') from dual
               *
ERROR at line 1:
ORA-01861: literal does not match format string
Run Code Online (Sandbox Code Playgroud)

做正确的方法是什么?

2010-12-14:09:56:53
minus
2010-12-14:09:56:46
Run Code Online (Sandbox Code Playgroud)

在Oracle SQL中?

sql database oracle date-arithmetic

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

Oracle SQL中的这两个左连接是否有区别?为什么

SELECT * 
FROM TAB1 
LEFT JOIN TAB2 ON TAB2.ID_TAB1 = TAB1.ID 
JOIN TAB3 ON TAB3.ID = TAB2.ID_TAB3;
Run Code Online (Sandbox Code Playgroud)

SELECT *
FROM TAB1
LEFT JOIN (SELECT *
           FROM TAB2
           JOIN TAB3 ON TAB3.ID = TAB2.ID_TAB3) T
ON T.ID_TAB1 = TAB1.ID;
Run Code Online (Sandbox Code Playgroud)

sql oracle left-join

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

oracles嵌套表中的最大行数是多少

CREATE TYPE nums_list AS TABLE OF NUMBER;
Run Code Online (Sandbox Code Playgroud)

oracle的嵌套表中可能的最大行数是多少?

UPDATE

CREATE TYPE nums_list  AS TABLE OF NUMBER;

CREATE OR REPLACE  FUNCTION  generate_series(from_n NUMBER, to_n NUMBER)
RETURN nums_list AS
ret_table nums_list := nums_list();
BEGIN

  FOR i IN from_n..to_n LOOP
    ret_table.EXTEND;
    ret_table(i) := i;
  END LOOP;
  RETURN ret_table;

END;


SELECT count(*)   FROM TABLE ( generate_series(1,4555555) );
Run Code Online (Sandbox Code Playgroud)

这给出了错误: ORA-22813 operand value exceeds system limits, Object or Collection value was too large

sql database oracle nested-table oracle12c

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