在下面的代码中似乎没有执行callable语句。
Connection con = DBConnection.getConnection(schema,uName,pwd);
String plsql =" " +
"BEGIN " +
" for crec in (select distinct filename from flex_template) loop " +
" Update vfs3 set created=sysdate where name =crec.filename;" +
我想知道是否有现有的工具/技术可以将proc sql语句转换为实际的SQL / plSQL命令(发送到SQL server)。
例如,SAS代码:
proc sql ; select datepart(date_time_column) as date format date9. from table; quit;
到PLSQL代码:
SELECT TO_CHAR(date_time_column, 'DDMONYYYY') DATE FROM TABLE;
背景:我有一堆Proc SQL代码,只是为了从源表中获取数据,我需要通过创建一个与当前工作流匹配的模式来实现自动化。特
我有一个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
我有一个Oracle登录触发器,其中执行了一些alter session语句。我在想,如果用户执行"alter session“,我是否可以用另一个触发器来捕获?
CREATE OR REPLACE TRIGGER CI_LOGON AFTER LOGON ON DATABASE
BEGIN
execute immediate
'ALTER SESSION SET PLSQL_WARNINGS=''ENABLE:ALL'',''DISABLE:06015''';
execute i
我正在使用Oracle APEX 4.2。我构建了一个PLSQL进程,它被设置为“按需执行--当AJAX调用该进程时”。此过程旨在更新我在页面加载时创建的集合中的两个成员属性。其守则如下:
DECLARE
v_seq_id NUMBER;
BEGIN
--get sequence id
SELECT seq_id into v_seq_id FROM apex_collections
WHERE collection_name = 'THE_COLLECTION' and c001 = :APP_SESSION;
--I've tried uncommenting
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
----------------------
我一直在使用上可用的,我对它相当满意。
但是当我尝试align或align-current时,我得到了一个错误:
align: Wrong type argument: sequencep, plsql-align-rules-list
我正在尝试对齐的示例代码:
declare
foo number;
x number;
y number;
begin
foo := 5;
x := 123;
y:=123;
end;
预期的结果是:
declare
foo number;
x number;
y number;
begin
foo := 5;
我有一个ruby项目,没有rails。在我的项目中,我使用了一些plsql,使用了ruby_plsql gem,如下所示: require 'ruby_plsql'
plsql.connection = OCI8.new('user','password',"//host:1521/my-db") # This only execute one time
def execute_pl
ds = plsql.my_package.my_procedure(company, country) # This execute
创建以下内容时:
create view v (a, b) as select 1, 2 from dual;
create or replace package p as
type t is table of v%rowtype;
function f return t pipelined;
end p;
/
我可以在字典中看到一些合成类型:
select o.object_name, s.line, s.text
from all_objects o
join all_source s on o.owner = s.owner and o.object_name = s.name
describe语法在PLSql中不起作用:
我使用以下语法:
DESCRIBE tblcustomer;
执行上述查询后,我得到以下异常:
ERROR: syntax error at or near "DESCRIBE"
LINE 1: DESCRIBE tblcustomer;
^
********** Error **********
ERROR: syntax error at or near "DESCRIBE"
SQL state: 42601
Character: 1
我在sys user中创建了一个序列plsql_profile_runnumber,但在dba_objects或dba_sequences中找不到它。请查看执行详情:
SQL> create sequence plsql_profiler_runnumber start with 1 nocache;
Sequence created.
SQL> select * from sys.dba_objects where object_name ='PLSQL_PROFILE_RUNNUMBER';
no rows selected
SQL> grant
我使用预处理sql使用JDBC驱动程序版本9.2.0.8.0(classes12.jar)时没有错误,但是,只有在后来升级到版本9.2.0.8.0之后才会出现这种情况。错误代码在索引处缺少IN或OUT参数
下面是我的代码。
BEGIN
SELECT sysdate
INTO :today
FROM dual;
BEGIN
SELECT sysdate
INTO :today2
FROM dual;
EXCEPTION
WHEN OTHERS THEN
:today2 := NULL;
正在尝试将SQL类型集合转换为PLSQL类型。
-- create an SQL type
create or replace type arrayforvarchar as table of varchar2(30);
/
检查下面的匿名区块:
declare
type arrayforvarcharplsql is table of varchar2(30);
var_plsql_array arrayforvarcharplsql;
var_sql_array arrayforvarchar := arrayforvarchar();
begin
sele
我正在尝试使用execute immediate运行plsql匿名块,plsql块包含一个绑定变量,其值是sql select语句。但这似乎不起作用。有没有解决这个问题的办法。例如。
BEGIN
V_SQL:='SELECT emp_id FROM emp WHERE dept_id=10;
PLSQL_BLOCK:='DECLARE
type emp_type
IS
TABLE OF NUMBER;
emp_id emp_type;
BEGIN
EXECUTE IMMEDIATE :1 BULK COLLE