标签: plsqldeveloper

如何从正确的PLSQL中读取字符串

在表列中,我有这个值:

DV-2011-01-000004(数据类型为varchar2)

我怎样才能得到字符串'000004'的一部分?在t-sql中他们有这个right()函数,但是在PL SQL中,我似乎不能像t-sql中的right()那样找到一个函数.

谢谢您的帮助.

plsql plsqldeveloper

5
推荐指数
1
解决办法
1万
查看次数

PL/SQL发送带附件的电子邮件?

我们有一个表格,文件保存为BLOB

我写了一个代码,通过电子邮件将这些文件作为附件!

到目前为止一切正常,但文件(EXCEL,PDF,......有什么)是程序无法读取的,只有文本文件和excel会打开,但是在一些错误消息之后,PDF根本都没有被打开!

这是有问题的代码的一部分!

utl_smtp.write_data( l_connection, '--'|| l_boundary || utl_tcp.crlf);
utl_smtp.write_data( l_connection, 'Content-Type: application/octet-stream' || utl_tcp.crlf);
utl_smtp.write_data( l_connection, 'Content-Disposition: attachment; filename="' || V_NAME || '"' || utl_tcp.crlf);
utl_smtp.write_data( l_connection, 'Content-Transfer-Encoding: base64' || utl_tcp.crlf );
utl_smtp.write_data( l_connection, utl_tcp.crlf );   

v_length := dbms_lob.getlength(V_BLOB_CONTENT);     

while v_offset < v_length loop
       dbms_lob.read( V(i).BLOB_CONTENT, v_buffer_size, v_offset, v_raw );
       utl_smtp.write_raw_data( l_connection, utl_encode.base64_encode(v_raw) );
       utl_smtp.write_data( l_connection, utl_tcp.crlf );
       v_offset := v_offset + v_buffer_size;
end loop while_loop;     

utl_smtp.write_data( l_connection, utl_tcp.crlf );
Run Code Online (Sandbox Code Playgroud)

有什么建议?

oracle plsql smtp plsqldeveloper

4
推荐指数
2
解决办法
2万
查看次数

尝试登录时出错:ORA-12154

我正在使用Oracle 10 g和PL/SQL Developer进行开发.我已经从Net Manager测试过可以连接数据库了,但是当我尝试连接PL/SQL Developer时出现了我不明白的问题:

ORA-12154: TNS:could not resolve the connect identifier specified
Run Code Online (Sandbox Code Playgroud)

我已经搜索了问题的解决方案,但仍然无法解决.有什么建议?

http://i.stack.imgur.com/OpjSI.png

oracle plsqldeveloper ora-12154

4
推荐指数
1
解决办法
1万
查看次数

PLSQL 中的 (+) 函数

我现在正在与 PLSQL 开发人员打交道,这是我第一次。我发现这种查询

select * from tableA, tableB
where tableA.field1 = tableB.field1(+)
Run Code Online (Sandbox Code Playgroud)

我想知道(+)查询中的功能。各位大侠能不能解释一下?

plsqldeveloper

4
推荐指数
1
解决办法
717
查看次数

如何在plsql中的过程体内创建游标

我想动态地在程序体内创建游标,我也必须使用for循环而不是代码.我做了动态光标,但我不能使用for循环.

PROCEDURE myprocedure
AS
  LV_TEST_CUR SYS_REFCURSOR;
  LV_QUERY VARCHAR2(200);
  LV_DATE  DATE;
BEGIN
  LV_QUERY:='select sysdate as mydate from dual';
  OPEN LV_TEST_CUR FOR LV_QUERY;
  /*FOR CUR_VAR IN LV_TEST_CUR
  LOOP
  dbms_output.put_line(CUR_VAR.mydate);
  end LOOP;
  */
  LOOP
    FETCH LV_TEST_CUR INTO LV_DATE;
    EXIT
  WHEN LV_TEST_CUR%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(LV_DATE);
  END LOOP;
  CLOSE LV_TEST_CUR;
END myprocedure;
Run Code Online (Sandbox Code Playgroud)

如果我使用注释代码(for循环),我会收到错误

PLS-00221:不是程序或未定义.

是否可以在动态游标中使用for循环?

sql oracle plsql plsqldeveloper

4
推荐指数
1
解决办法
5万
查看次数

Oracle NLS 设置中的会话与实例与数据库

Oracle中为什么有3个逻辑不同对视图Ñ大号anguage小号upport?

我可以理解需要区分会话和数据库 - 允许客户端自定义设置。

Session 与 Instance 呢?

我运行了一个查询来比较它们之间的值,这是结果(我注意到 NLS_DATABASE_SETTINGS 有更多的参数,其他的所有参数加上更多,因此我将它作为我的起点进行外连接):

SELECT
   db.parameter as parameter,
   db.value as database_value,
   s.value as session_value,
   i.value as instance_value
FROM
   nls_database_parameters db
LEFT JOIN 
   nls_session_parameters s
ON s.parameter = db.parameter
LEFT JOIN 
   nls_instance_parameters i
ON i.parameter = db.parameter
ORDER BY parameter
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我正在尝试深入挖掘并解决我的 pl/sql 开发人员客户端的问题,单独无法显示希伯来语字符。公司里的其他人都是。

更新:按照我在此处发布的解决方案,解决了希伯来语中显示字符的问题(这不是这里的问题)。

oracle plsqldeveloper

4
推荐指数
1
解决办法
7658
查看次数

如何检查Oracle PL / SQL Developer的时区

我在哪里检查oracle pl / sql developer的时区。有人可以帮忙吗

sql oracle plsql plsqldeveloper

4
推荐指数
1
解决办法
3万
查看次数

如何检查Oracle SQL Developer的活动日志

我想监视 Oracle SQL Developer Tool 上的活动日志,使用F8我获取 SQL 历史记录的键。

我想要用户会话数据,例如谁(用户)执行了哪个查询或 GUI 中的任何操作。

oracle11g plsqldeveloper oracle-sqldeveloper

4
推荐指数
1
解决办法
3万
查看次数

PL/SQL 上的 get_detailed_sqlerrm 语法

我正在尝试为尝试使用 SOAP Web 服务的函数调试 PL/SQL 上的“HTTP 请求失败”错误。建议使用 get_detailed_sqlerrm 来获取错误消息的详细信息,但是当我尝试运行建议的查询时,它会抛出“无效的 SQL 语句”错误。

我的查询:

UTL_HTTP.get_detailed_sqlerrm 
RETURN VARCHAR2;
Run Code Online (Sandbox Code Playgroud)

我使用的是 PL/SQL Developer IDE,数据库是 Oracle 11g。

oracle plsql oracle11g plsqldeveloper

4
推荐指数
1
解决办法
3万
查看次数

为什么我没有收到错误?数据库如何理解嵌套子查询中的相关列?

这是场景:我有两个表部门和员工.当我从表中选择一个不存在于该表中的列时,它会按预期抛出错误.但是,当我使用子查询并再次从同一个表中选择相同的列时,它正在工作.我不明白它如何可以忽略我的错误.

create table department
( DEPT_ID                    NUMBER(2),
 DEPT_NAME                  VARCHAR2(6) );

 insert into department values(1,'ch');

 create table employee
 ( EMP_ID                     NUMBER(2),
 EMP_NAME                   VARCHAR2(6),
 EMP_DEPT_ID                NUMBER(2)
 );

 insert into employee values(0,'ch',1);

--getting  error for below (ORA-00904: "DEPT_ID": invalid identifier)
 select dept_id
from employee;

 -- not getting any error and can see the output for below sql statement. How it can consider invalid column for employee table dept_id in this query.
 select *
from   department
where dept_id in 
(
-- Incorrect column name …
Run Code Online (Sandbox Code Playgroud)

sql sql-server oracle plsql plsqldeveloper

4
推荐指数
1
解决办法
109
查看次数