当我根据这段代码准备这个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:表名无效。