小编Nic*_*nov的帖子

Windows XP/7复制FILE挂钩

有可能挂钩文件夹修改操作(复制,删除,重命名等),但不幸的是我需要挂钩应用于文件的操作.有什么想法吗?

环境:

Delphi XE2,Windows XP/7/2008

谢谢.

delphi winapi windows-7 delphi-xe2

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

Oracle从包内的select查询中获取两个变量

我修改了程序以使其更小但我真的只想运行一次选择查询.这将降低运行程序的成本.如何获得prevContectIDnextContentID不运行查询两次.这正在取代以前的程序,所以我不想改变它IN,OUT所以我不必找到它被调用的每个地方.

procedure getSeq(theContentID IN table.contentID%type,
                 prevContentID OUT table.contentID%type, 
                 nextContentID OUT table.contentID%type)
BEGIN

  SELECT myPrev into prevContentID, myNext into nextContentID
    from myTable
   where contentID=theContentID;
  RETURN;
END getSeq;
Run Code Online (Sandbox Code Playgroud)

oracle

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

如何检查oracle数据库是否与REGEXP_LIKE兼容?

我正在尝试Regexp_like在我的oracle SQL查询中使用该函数,但无论我正在尝试什么,我都会收到"ORA-00920:无效的关系运算符"错误.我尝试过应该使用的样本中的regexp_like参数,并且只是更改了引用的字段,但仍然失败了.版本是:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0  Production
TNS for Solaris: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Run Code Online (Sandbox Code Playgroud)

但是我怀疑设置了一些兼容级别,因此不支持regexp_like函数.我怎么检查这个?

oracle oracle11g

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

加入父表和子表的最佳方法

我有父表A. A有几个子表,如B,C,D,E,F,G 子表不相互链接.它们只与...相关联A. A有一个键Id在所有子表中用作外键.

加入这些表的最佳方法是什么,以便我可以创建一个单独的视图?

sql database oracle view

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

Oracle 9i中的REGEXP_REPLACE替换

我想在oracle 9i中使用Jason Bennet的PL/SQL ExcelDocumentType代码.(http://www.jasonsdevelopercorner.com/?page_id=8)

目前我无法编译它,因为它使用REGEXP_REPLACE的不是oracle 9i.

任何人都可以为以下内容建议Oracle 9i替换表达式....

(LENGTH(REGEXP_REPLACE(p_header_string,'[^'||p_delimiter||']','')))+1;
Run Code Online (Sandbox Code Playgroud)

谢谢

oracle plsql

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

交叉申请提供缺少关键字错误

以下查询给出了缺少的关键字错误..

select * 
  from its_account aac 
 CROSS APPLY its.fnGetAccountIdentifier(aac.account_key) ;
Run Code Online (Sandbox Code Playgroud)

这是我的功能:

create or replace FUNCTION fnGetAccountIdentifier
(
  v_AccountKey IN NUMBER
)
RETURN fnGetAccountIdentifier_pkg.tt_fnGetAccountIdentifier_type PIPELINED
AS
   v_temp SYS_REFCURSOR;
   v_temp_1 TT_FNGETACCOUNTIDENTIFIER%ROWTYPE;

BEGIN
   OPEN v_temp FOR
      SELECT * 
        FROM tt_fnGetAccountIdentifier;

   LOOP
      FETCH v_temp INTO v_temp_1;
      EXIT WHEN v_temp%NOTFOUND;
      PIPE ROW ( v_temp_1 );
   END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

我不知道我在哪里做错了.我真的很陌生.

oracle plsql cross-apply

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

循环从具有许多表的过程返回的游标

我正在使用一个我没有编写的存储过程,它很长并且包含许多列和连接.该过程返回一个游标,应用程序服务器(.NET,顺便提一下)接收并迭代.

我正在尝试使用SQLPlus和PL/SQL拦截游标,但我很难弄清楚如何设置脚本.这是我到目前为止所拥有的:

DECLARE
    cur sys_refcursor;
BEGIN
  adv_schema.report_proc('CAL','01-JAN-2011','01-JAN-2012','Y',cur);
  OPEN cur FOR --??????
  LOOP
    FETCH cur INTO column1, column2;
    EXIT WHEN cur%NOTFOUND;
    DBMS_OUTPUT.Put_Line ('First Name: '||column1||' Last Name: '||column2);
  END LOOP;
END;

/
Run Code Online (Sandbox Code Playgroud)

我在OPEN声明中加入了什么?我所见过的关于如何执行此操作的所有示例都是过于简化的示例,其中在PL/SQL块中创建了一些表't',然后打开了一个带有查询到该表的游标,以进行循环.过程何时将游标返回到具有多个表的复杂查询?

sql oracle stored-procedures

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

消除半复制的最佳方法!Oracle中的记录

我有一些记录像

a,b
b,a
a,c
c,a
b,d
d,b
b,f
f,b
...
Run Code Online (Sandbox Code Playgroud)

在我的查询结果中.(他们是电子邮件)最好的方法是什么:

a,b
a,c 
b,d
b,f
Run Code Online (Sandbox Code Playgroud)

并消除b,a和c,a,d,b,f,b?

我试过了

SELECT *
FROM ...
WHERE MOD(ROWNUM/2)=0
Run Code Online (Sandbox Code Playgroud)

但它只返回第一行

sql oracle

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

ORA-30076试图找到日期之间的天数

我试图找到2个日期之间的日期.我尝试运行以下查询,最终导致ORA-30076错误.

查询是,

select extract(day from (sysdate - to_date('2009-10-01', 'yyyy-mm-dd'))) 
 from dual
Run Code Online (Sandbox Code Playgroud)

错误是,

Error at Command Line:1 Column:34
Error report:
SQL Error: ORA-30076: invalid extract field for extract source
30076. 00000 -  "invalid extract field for extract source"
*Cause:    The extract source does not contain the specified extract field.
Run Code Online (Sandbox Code Playgroud)

但是,当我试图跑

Select extract(day from sysdate) from dual;
Run Code Online (Sandbox Code Playgroud)

我得到了正确的输出.

请帮助,如果有人知道为什么我得到上述错误的原因.

sql oracle

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

Oracle:使用select插入不返回批量收集新插入的ID

表名: T_record

Id(auto increment using sequence)    Name      Age
1                                    Chitta    18
2                                    Chitta1   19
3                                    Chitta2   18
4                                    Chitta3   18
Run Code Online (Sandbox Code Playgroud)

我有PL/SQL程序,它将在上表中插入记录.

Insert into T_record (name, Age) 
  (select  name, age 
     from T_record 
    where Age =18) 
   returning  id bulk collect into v_newly_added_conf_input_ids;
Run Code Online (Sandbox Code Playgroud)

但批量收集不起作用.

我怎样才能知道id新插入的s(我希望它id在其他选择查询中使用相同的s)?

oracle plsql plsqldeveloper

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