SQL Developer警告,当我执行程序包体DDL语句时,
Warning: PLW-06015: parameter PLSQL_DEBUG is deprecated; use PLSQL_OPTIMIZE_LEVEL=1
如何将SQL Developer配置为不使用PLSQL_DEBUG?
在使用相同连接细节的sql*plus会话中,PLSQL_DEBUG被设置为false,
> show parameters plsql
NAME TYPE VALUE
----------------------
我试图在Oracle中创建一个关联数组,当我创建一个嵌套表时,它工作得很好:
CREATE OR REPLACE TYPE TRNG_BOOK_AUTHORS_TAB
AS TABLE OF VARCHAR2(500);
但是,当我添加索引时,我会得到错误:
CREATE OR REPLACE TYPE TRNG_BOOK_AUTHORS_TAB
AS TABLE OF VARCHAR2(500) INDEX BY PLS_INTEGER;
错误: PL/SQL:编译单元分析终止
错误(2,4):PLS-00355:在此上下文中不允许使用pl/sql表
我有什么问题?
我对plsql很陌生。我正在尝试将两个脚本放在同一个包下。这些脚本处理数组。如何将数组传递到过程中?如果我要声明数组,我是在规范中还是在主体中这样做?我现在正在尝试,但它不起作用。
CREATE PACKAGE cop_cow_script AS
PROCEDURE COP_COW_DATALOAD_V2(arr_claims VARRAY(15000) OF VARCHAR2(10), arr_sql VARRAY(500) OF VARCHAR2(1000));
END cop_cow_script;
正如您所看到的,我想传递这两个数组。
我的.NET代码目前正在使用ODP.NET多次调用一个存储过程,以对许多表中的不同行进行操作。.NET代码有一个要更改的行数组。每次调用中只有一个参数发生变化,我希望将数组从.NET传递给PL/SQL语句,以便对多行进行操作(行数会发生变化)。
我已经使用以下命令成功地将一个数组从.NET传递到PL/SQL:
type number_arr is table of number(10) index by pls_integer;
PROCEDURE "BLAH" (foo IN number_arr);
请注意,我相信number_arr被称为VARRAY,但我对此并不肯定,如
我是Robot Framework的新手。我需要在Oracle DB中通过"Execute Sql Script“关键字运行一个PLSQL来进行数据设置。当我执行它的时候,我得到了下面的错误。 错误: *DatabaseError: ORA-06550: line 2, column 17:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
* & = - + ; < / > at in is mod remainder n
在SQL/Developer中,当我执行一条语句时,我得到一个脚本输出消息,内容类似于7 Records Merged 下面是我的相关PL/SQL代码: v_sql_loader := 'merge into foobar b using foobiz i on (b.foobar_id = i.foobiz_id) when not matched then insert (foobar_id) values (foobiz_id)'; execute immediate v_sql_loader; 如何在PL/SQL中捕获7 records Merged? 我正在编
我有一个plsql过程,它使用DBMS_PARALLEL_EXECUTE创建一个新任务,通过row_id创建块,然后执行任务。
procedure test as
begin
DBMS_PARALLEL_EXECUTE.create_task('newtask');
DBMS_PARALLEL_EXECUTE.create_chunks_by_rowid('newtask','PEEUSH','NEWTABLE',TRUE,1000);
DBMS_PARALLEL_EXECUTE.run_tas
我有一个SQL查询(一个存储过程),我想要转换成PLSQL,我已经转换了大部分存储过程,但我不能转换以下部分:
DECLARE lookupTableRow CURSOR FOR
SELECT TableName FROM SYS_LookUpTable
OPEN lookupTableRow
FETCH NEXT FROM lookupTableRow INTO @tableName
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql='SELECT * FROM '+@tableName
EXECUTE sp_execute
我在Oracle中创建了一个类型
create or replace type array_type
as varray(6) of varchar2(20);
现在,我想将它用作存储过程中的一个变量。我试过如下所示,
create or replace PROCEDURE test_proc()
IS
my_type array_type;
BEGIN
....
这给了我错误
错误(124,24):PL/SQL: ORA-00932:不一致的数据类型:预期CHAR获得ARRAY_TYPE
如何将此自定义类型用作存储过程中的变量?
在工作中,我有一个很大的表(大约300万行,比如40-50列)。有时我需要清空一些列,然后用新数据填充它们。我没想到的是
UPDATE table1 SET y = null
例如,在sql查询中从同一表的其他列中生成的数据或子查询中的其他表中查询的数据,所需的时间比用这些数据填充列要多得多。如果我一次遍历所有表行(就像上面的update查询中那样),或者我使用游标逐行遍历表(使用pk),这都没有关系。如果我在工作中使用大表,或者我创建一个小的测试表并用几十万个测试行填充它,这都无关紧要。将列设置为null总是比用一些动态数据(每行不同)更新列要长得多(在整个测试过程中,我遇到的因子是2到10
在PLSQL中,我运行:
truncate table MyOracleTableName;
commit work;
insert into MyOracleTablename
select a,b,c,trunc(sysdate) as datadate
from AnotherOracleTableName
where there is a ton of nasty criteria
union
select a,b,c,trunc(sysdate) as datadate from AnotherOracleTableName
where there is a ton of dif
如何在oracle sql developer 4.1中更改列建议顺序?默认建议弹出窗口按字母顺序排列,如何将其改为按表列顺序排列?
我的表结构是:
TABLE NAME: CMS_EMP
---------------------
ID NUMBER(5) NOT NULL,
NAME VARCHAR2(35),
GRADE VARCHAR2(5),
SAL NUMBER(18,2)
在Oracle sql developer列中,建议弹出窗口将列表显示为
GRADE
ID
NAME
SAL
但我希望列建议按照表的列顺序进行,如
ID
NAME
GRADE
SAL
该怎么做呢?O
我正在尝试创建一个select语句来选择以前的select语句中选择的字段,如下所示(使用oracle 11g):
Declare
type NumberArray IS TABLE OF Number;
v_medium NumberArray;
v_medium_final NumberArray := NumberArray();
v_count number;
type VarcharArray IS TABLE OF VARCHAR2(60);
v_Type VarcharArray
--Select all Reg