当我根据这段代码准备这个SQL Fiddle时:
WITH l_cur AS
(SELECT to_char(LEVEL - 1, '0000') dd FROM dual CONNECT BY LEVEL <= 10)
SELECT '''' || d1.dd || '''' o,
'''' || d2.dd || '''' n
FROM (SELECT dd,
row_number() over(ORDER BY 1) rn
FROM l_cur) d1,
(SELECT dd,
row_number() over(ORDER BY dbms_random.random) rn
FROM l_cur) d2
WHERE d1.rn = d2.rn;
O N
------- -------
' 0000' ' 0000'
' 0001' ' 0005'
' 0002' ' 0009'
' 0003' ' 0003'
' 0004' …Run Code Online (Sandbox Code Playgroud) 我正试图在15年内编写我的第一个PL/SQL存储过程.我收到了类型转换警告:
2 PLW-07202: bind type would result in conversion away from column type SQL1.sql 11 60
Run Code Online (Sandbox Code Playgroud)
尝试将当前系统时间分配给以下列时:
CRET_TIMESTMP TIMESTAMP(6) NOT NULL
Run Code Online (Sandbox Code Playgroud)
这是记录的整个表定义.
CREATE TABLE FIN_IT_RPT.COGNOS_RPTNG_SCHEDLNG_STAT
(
JOB_NM VARCHAR2(20 BYTE) NOT NULL
,JOB_STAT_CD VARCHAR2(1 BYTE) NOT NULL
,CRET_TIMESTMP TIMESTAMP(6) NOT NULL
,CRET_OPER_ID VARCHAR2(10 BYTE) NOT NULL
,UPDT_TIMESTMP TIMESTAMP(6)
,UPDT_USR_ID VARCHAR2(10 BYTE)
)
TABLESPACE USERS
STORAGE (INITIAL 64 K
NEXT 1 M
MAXEXTENTS UNLIMITED)
LOGGING;
Run Code Online (Sandbox Code Playgroud)
这是我的程序:
CREATE OR REPLACE PROCEDURE FIN_IT_RPT.UPDATE_FINODS_COGNOS_STATUS
(
P_JOB_STAT_CD IN COGNOS_RPTNG_SCHEDLNG_STAT.JOB_NM % TYPE
)
AS
BEGIN
UPDATE COGNOS_RPTNG_SCHEDLNG_STAT …Run Code Online (Sandbox Code Playgroud) 我正在阅读以下文章:http://java.sun.com/docs/hotspot/gc1.4.2/example.html并且无法理解以下几行:
Young generation size is too small
The young generation heap size in this first example is about 4 Mbytes with an overall heap size of about 32 Mbytes.
[GC [DefNew: 4032K->64K(4032K), 0.0429742 secs] 9350K->7748K(32704K), 0.0431096 secs]
[GC [DefNew: 4032K->64K(4032K), 0.0403446 secs] 11716K->10121K(32704K), 0.0404867 secs]
[GC [DefNew: 4032K->64K(4032K), 0.0443969 secs] 14089K->12562K(32704K), 0.0445251 secs]
This output seems reasonable from the point of view of the time spent in garbage collection but note that although the occupancy of …Run Code Online (Sandbox Code Playgroud) 在Oracle 11gR2中哪个视图我必须查询以查明CLOB列是否存储为SecureFile?
我在Fedora 20虚拟机上安装了Oracle 11g XE,配置它并设置环境变量(运行oracle_env.sh).尝试使用此字符串通过jdbc将Eclipse与数据库连接时,我遇到此错误 "jdbc.databaseurl=jdbc:oracle:thin:@192.168.88.134:1521:XE"
我可以通过SQL*Plus(sqlplus / as sysdba)连接到虚拟机中的数据库.
的$ORACLE_SID变量是确定(XE).我已经尝试停止并启动监听器,然后启动数据库,并使用该alter system register;命令.
还静态注册数据库没有成功(我不能确定我没有误解这样做,所以如果有人认为这可以解决我的问题,我会再试一次).
这是listener.ora文件:
# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
Run Code Online (Sandbox Code Playgroud)
和tnsnames.ora文件:
# tnsnames.ora …Run Code Online (Sandbox Code Playgroud) 我有一个触发器,必须将时间戳设置为当前时间加上插入前字段为空时的两个小时.我到目前为止所做的一个陈述是
IF :new.time_to_live IS NULL THEN
:new.time_to_live := sysdate + INTERVAL '0 02:00:00.0' HOUR TO MINUTE;
END IF;
Run Code Online (Sandbox Code Playgroud)
但我得到第二行的PLS-00166错误(日期,时间,时间戳或间隔文字的格式错误).还修改了多个论坛中的几个建议,但错误仍然存在.该列创建如下:
time_to_live timestamp(0) NOT NULL
Run Code Online (Sandbox Code Playgroud) 我已经阅读了几次Oracle RAC文档,但SCAN和VIP仍然让我感到困惑.有人可以帮助我理解这需要在技术上如何配置,以便我可以解释它我的网络管理员.
Oracle RAC中的VIP,每个VIP是否应绑定到节点或只需要DNS A记录而不将其分配给node1或node2以及主机文件中的条目?我知道在执行网格集群安装时,Oracle会自动绑定VIP,但是这应该是分配给其中一个节点的DNS的一部分还是应该是免费和未分配的?
需要在DNS记录中创建Oracle SCAN IP; 这是一个A记录到3个IP反向查找或循环方式,这不应该是主机文件的一部分?
我需要向网络管理员解释这个问题,将其添加到DNS服务器上.
使用此代码,我无法多次运行插入查询; 它只询问ID和名称一次(如果计数器中的值大于1).
declare
counter number := 0 ;
begin
counter := &counter ;
while counter > 0 loop
insert into customer values ( &id, '&name' ) ;
counter := counter - 1 ;
end loop ;
end ;
Run Code Online (Sandbox Code Playgroud)
让我借助一个例子来解释: -
说我把值2放入counter.有了它,它应该问我两次ID和名称,但它只询问一次,并将我输入的ID和名称的值复制到表中test两次.
我怎样才能解决这个问题?如果我不能那么请建议替代代码来解决我的问题.
我的脚本文件有以下代码:
WHENEVER SQLERROR EXIT SQL.SQLCODE
@pkg_t.pks
@pkg_t.pkb
Run Code Online (Sandbox Code Playgroud)
我正在从 SQL*Plus 运行该脚本。如果pkg_t.pkb无效,我看到:
Warning: Package created with compilation errors.
Run Code Online (Sandbox Code Playgroud)
但 SQL*Plus 不会退出。我知道pkg_t.pkb有一个 PL/SQL 错误编译,它与 SQL 错误不同。
需要添加什么指令,以便 SQL*Plus 在遇到 PL/SQL 编译错误时退出?
我想创建一个 PL/SQL 函数,它传递一个表名和一个条件,并返回比条件在该表上满足的行数。
我创建了函数:
CREATE OR REPLACE FUNCTION CHECK_EXISTS
(TABLE_NAME VARCHAR2, CONDITION VARCHAR2) RETURN NUMBER AS
VAL NUMBER;
SQL_CODE VARCHAR2(200):='SELECT COUNT (*) INTO VAL FROM :TABLE_NAME WHERE
:CONDITION';
BEGIN
EXECUTE IMMEDIATE SQL_CODE USING TABLE_NAME ,CONDITION;
RETURN VAL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 0;
END;
Run Code Online (Sandbox Code Playgroud)
该函数已成功创建,但是当我尝试使用此代码使用它时:
BEGIN DBMS_OUTPUT.PUT_LINE(CHECK_EXISTS('EMPLOYEES' ,'DEPARTMENT_ID=50')); END;
Run Code Online (Sandbox Code Playgroud)
我收到异常:ORA-00903:表名无效。