我在oracle中编写一个作业以执行存储过程,但是到时候它就没有任何理由发生任何事情.
是否有某种日志,我可以看到是否发生错误或其他什么?
我使用dbms_job包来创建作业
TNKS.
当我执行以下操作时:
INSERT ALL INTO table@database_link(columnName) VALUES (columnValue)
SELECT columnValue FROM localTable;
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
SQL错误:ORA-02021:远程数据库上不允许执行DDL操作02021. 00000 - "远程数据库上不允许执行DDL操作"*原因:尝试在远程数据库上使用DDL操作.例如,"CREATE TABLE tablename @ remotedbname ...".*操作:要更改远程数据库结构,必须使用适当的权限连接到远程数据库.
请注意,当我执行常规(而不是插入ALL)时...插入在数据库链接上工作.(补助金有效).
两个表都没有触发器.
我明确需要INSERT ALL INTO,以允许插入多个表的能力.
是否INSERT ALL INTO操作不允许进入数据库链接表?
我想编写PL/SQL来测试包中的函数.包定义了游标类型
TYPE ref_cursor IS REF CURSOR;
Run Code Online (Sandbox Code Playgroud)
我想基于该类型定义记录.
我的代码是:
DECLARE
cur PACKAGE_NAME.ref_cursor;
rec cur%ROWTYPE;
Run Code Online (Sandbox Code Playgroud)
为什么最后一行不正确?
我正在尝试通过以下一些示例来学习 Spring MVC:
http://krams915.blogspot.com/2012/01/spring-mvc-31-jqgrid-and-spring-data_1887.html
我的项目在 MySQL 中运行良好且愉快,但我需要尝试在 Oracle 中运行它。我毫不费力地移植了数据库。oracle xe 服务器是 11g 第 2 版。服务器在同一台机器(本地主机)上运行,我可以使用 SQL 开发人员使用以下信息连接到它。
我的属性文件中有以下内容:
#oracle
app.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
app.jdbc.url=jdbc\:oracle\:thin\:@localhost\:1521\:DATABASENAME
app.jdbc.username=DATABASENAME
app.jdbc.password=PASSWORD
#mysql
#app.jdbc.driverClassName=com.mysql.jdbc.Driver
#app.jdbc.url=jdbc\:mysql\://localhost/DATABASENAME
#app.jdbc.username=USERNAME
#app.jdbc.password=PASSWORD
Run Code Online (Sandbox Code Playgroud)
就像我说的,取消对 MySQL 的注释它可以正常工作,但不确定 Oracle 设置哪里出了问题。
我得到的错误
Mar 17, 2012 7:15:10 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring] in context with path [/parentportal] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection] with root cause
com.mchange.v2.resourcepool.CannotAcquireResourceException: A …Run Code Online (Sandbox Code Playgroud) 我们有一个函数如果我们通过使用SELECT调用它我们得到错误代码ORA-14551"无法在查询中执行DML操作"
select pkg_tools.replace_site(1121,3343) from dual;
Run Code Online (Sandbox Code Playgroud)
如何运行此功能并获得结果
当我们以这种方式在SQL开发人员中运行它时:
declare
v_return VRACHAR2(200);
begin
v_return := pkg_tools.replace_site(1121,3343);
end;
Run Code Online (Sandbox Code Playgroud)
工作没有错误
我们需要在PHP中调用此函数
注意:我不能在这里粘贴这个函数,因为它很长,但它会分配操作,包括插入和更新!
我有一个RegistryKey作为我字典的键。
我似乎无法为该特定键设置值。无论我做什么,我都会不断收到KeyNotFoundException. 密钥确实存在,我在前一行创建了它
例如:
public Dictionary<RegistryKey, Dictionary<string, object>> subKeyNodes = new...
subKeyNodes.Add(mainKeyNode.CreateSubKey(keyName),new Dictionary<string, object>());
subKeyNodes[mainKeyNode.CreateSubKey(keyName)].Add("ROAR", "value");
Run Code Online (Sandbox Code Playgroud)
添加工作正常。添加该键值总是失败,我似乎无法弄清楚。
我正在使用SQL Developer来调试下面的代码,只有在完成所有存储过程后,输出结果才会显示在调试对话框中.我需要打开一些配置吗?
谢谢
FOR j IN REVERSE 1..i LOOP
DBMS_OUTPUT.PUT_LINE(emp_tab(j).first_name);
END LOOP;
Run Code Online (Sandbox Code Playgroud)
日志
Connecting to the database hr.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '192.168.1.4', '53475' )
Debugger accepted connection from database on port 53475.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source …Run Code Online (Sandbox Code Playgroud) 题,
我有这样的表:
PID Category Year
1 AAA 2011
2 AAA 2012
3 BBB 2011
4 CCC 2010
5 CCC 2011
6 CCC 2012
Run Code Online (Sandbox Code Playgroud)
我需要将输出显示为:
Subtotal Total Category Year Percentage
1 1 CCC 2010 100%
1 2 AAA 2011 50%
1 2 BBB 2011 50%
1 2 AAA 2012 50%
1 2 CCC 2012 50%
Run Code Online (Sandbox Code Playgroud)
小计是特定年份的该类别的计数.总计是特定年份的计数,包括所有类别.百分比是小计/总计*100
使用 SQL*Plus 我尝试使用 select union 语句来组合同一表中两列的结果,如下所示:
select substr(startdate,4,3) milestone
from projects
union
select substr(enddate,4,3) milestone
from projects
Run Code Online (Sandbox Code Playgroud)
使用列的别名milestone,但由于某种原因,结果显示为列名称mil。由于某种原因它被截断了,我认为这substr部分是问题所在,因为它从stardateandenddate列中获取了 3 个字符。我应该如何解决这个问题?
我有一个名为Student的表格如下:
CREATE TABLE "STUDENT"
( "ID" NUMBER(*,0),
"NAME" VARCHAR2(20),
"AGE" NUMBER(*,0),
"CITY" VARCHAR2(20),
PRIMARY KEY ("ID") ENABLE
)
Run Code Online (Sandbox Code Playgroud)
我想把所有年龄都大于平均年龄的学生记录下来.这是我试过的:
SELECT *
FROM student
WHERE age > AVG(age)
Run Code Online (Sandbox Code Playgroud)
和
SELECT *
FROM student
HAVING age > AVG(age)
Run Code Online (Sandbox Code Playgroud)
两种方式都不起作用!