小编Oll*_*lie的帖子

如何刷新oracle中的物化视图

我尝试使用以下方法刷新物化视图:

DBMS_MVIEW.REFRESH('v_materialized_foo_tbl')
Run Code Online (Sandbox Code Playgroud)

但是它抛出了无效的sql语句.

然后我创建了一个这样的存储过程:

CREATE OR REPLACE 
PROCEDURE MAT_VIEW_FOO_TBL 
IS
BEGIN
   DBMS_MVIEW.REFRESH('v_materialized_foo_tbl')
END MAT_VIEW_FOO_TBL IS;
Run Code Online (Sandbox Code Playgroud)

此过程已成功创建,但在我调用此过程时

MAT_VIEW_FOO_TBL;
Run Code Online (Sandbox Code Playgroud)

它再次抛出错误.

请为此问题提出解决方案.

谢谢,Srinivas

oracle materialized-views

53
推荐指数
6
解决办法
33万
查看次数

尝试在sql块中更改表时获取错误

我创建了一个test.sql文件,里面我放了:

begin
alter table table1 enable row movement;
alter table table1 shrink space;
end;
/
Run Code Online (Sandbox Code Playgroud)

这是不允许的?因为我收到错误:

Encountered the symbol "ALTER" when expecting one of the following:

   begin case declare exit for goto if loop mod null pragma
   raise return select update while with <an identifier>
   <a double-quoted delimited-identifier> <a bind variable> <<
   close current delete fetch lock insert open rollback
   savepoint set sql execute commit forall merge pipe
Run Code Online (Sandbox Code Playgroud)

oracle oracle11g

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

无法调用oracle存储过程和函数

问题可能过于简单,但我确实需要帮助.

我在Oracle 10g中创建了一个存储过程,但我无法调用它.我正在使用SQL Developer来管理数据库.

CREATE OR REPLACE
FUNCTION check_login 
  (username IN VARCHAR2, pwd IN VARCHAR2)
  RETURN VARCHAR2
IS
  isUserValid INTEGER;
BEGIN
  SELECT Count(*) INTO isUserValid
  FROM users
  WHERE Username = username AND PASS_WORD = pwd;
  return isUserValid;
END;
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个:

CREATE OR REPLACE
PROCEDURE check_login 
  (username IN VARCHAR2, pwd IN VARCHAR2, RESULT OUT INTEGER)
IS
  isUserValid INTEGER;
BEGIN
  SELECT Count(*) INTO isUserValid
  FROM users
  WHERE Username = username AND PASS_WORD = pwd;
  RESULT := isUserValid;
END;
Run Code Online (Sandbox Code Playgroud)

解析两者都不会给出任何错误消息.我使用以下语法来调用它们:

BEGIN 
  check_login('admin', 'admin'); 
END; …
Run Code Online (Sandbox Code Playgroud)

oracle stored-procedures function oracle10g

16
推荐指数
2
解决办法
4万
查看次数

Java存储过程与PL/SQL存储过程

在Oracle DBMS中,性能更好,从另一个pl/sql存储过程调用java存储过程或从另一个pl/sql存储过程调用pl/sql存储过程.

顺便说一下,我的pl/sql过程中有一个循环,它会多次调用java过程(即我的代码在PL/SQL和Java存储过程之间翻转),这样会降低性能吗?

oracle plsql java-stored-procedures

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

如何查看客户端的NLS_LANG?

我正在使用Windows操作系统,我知道这个设置存储在注册表中.问题是注册表路径从版本变为版本,虽然浏览那一堆注册表键肯定不是一个好主意.

我可以得到NLS_LANG服务器的SELECT USERENV ('language') FROM DUAL.

我想将它与客户端设置进行比较,并在它们不匹配时显示警告,就像Pl/Sql Developer一样.

oracle character-encoding nls-lang

13
推荐指数
2
解决办法
8万
查看次数

列出Oracle导出转储文件的内容

我有一个oracle完全转储.我知道我必须使用该fromuser touser条款对转储进行处理.但是我不知道转储中包含的模式的名称.

如何才能打开使用Oracle 10g创建的转储来检查和分析内容?

oracle oracle10g

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

如何实现基于上下文的数据库审计?

我有一个当前的数据库驱动的应用程序,它有几种访问数据的方法.

  1. Web应用程序
  2. 直接SQL Access用户(我试图删除这些)
  3. Client Server应用程序
  4. 批量输入和输出

我需要实现基于上下文的审计,因为当前的数据审计不足以回溯识别导致数据更改的进程.

我目前正在考虑将数据模型隐藏在XAPI(事务API)背后,并且数据模型上的每个操作都必须提供某种形式的识别相关操作或数据更改的原因,这些操作或原因将与审计数据本身一起存储.

任何人都可以为我提供更好的方法来实现基于上下文的审计,这将涵盖对数据库的所有访问吗?或者甚至指出我错过了当前方法中的任何明显缺陷?

提前致谢.

oracle plsql auditing oracle10g audit-trail

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

什么类型的连接是'......其中A.ID = B.ID(+)'

我遇到过这样的代码,我需要使用ANSI标准重新编写,我想确保我保持连接正确.那么,这是什么惯例?

使用此约定的其他类型连接的语法是什么?

使用这个约定,(+) 总是在表达式的右边?

我在哪里可以了解更多相关信息?

sql oracle plsql join oracle11g

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

"||"有什么区别 Oracle中的运算符和concat函数?

是否有可能解释Oracle中concat()函数和||运算符之间的区别?

哪一个在性能方面更好?

sql database oracle

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

不是单组组功能

我有一些表基本上如下:

TBL_USER
user_id - number
user_name - varchar

TBL_STUFF
stuff_id - number
stuff_user_id - number
Run Code Online (Sandbox Code Playgroud)

我想查询所有用户信息,包括他们拥有的"东西"的数量.我正在尝试这样的事情:

select user_id, user_name, count(stuff_id) 
  from tbl_user
  left outer join tbl_stuff on stuff_user_id = user_id
 where user_id = 5;
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,上面写着"不是单组小组的功能"

还有其他方法我应该这样做吗?

sql oracle

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