我怎样才能获得PL/SQL块来输出SELECT
语句的结果,就像我做一个普通的一样SELECT
?
例如,如何做一个SELECT
像:
SELECT foo, bar FROM foobar;
Run Code Online (Sandbox Code Playgroud)
提示:
BEGIN
SELECT foo, bar FROM foobar;
END;
Run Code Online (Sandbox Code Playgroud)
不起作用.
我在参数中有一个带有BOOLEAN的PL/SQL函数:
function get_something(name in varchar2, ignore_notfound in boolean);
Run Code Online (Sandbox Code Playgroud)
此功能是第三方工具的一部分,我无法改变这一点.
我想在SELECT语句中使用这个函数,如下所示:
select get_something('NAME', TRUE) from dual;
Run Code Online (Sandbox Code Playgroud)
这不起作用,我得到这个例外:
ORA-00904:"TRUE":标识符无效
据我了解,关键字TRUE
无法识别.
我怎样才能做到这一点?
我正在使用oracle数据库.我想执行一个查询来检查两个日期之间的数据.
NAME START_DATE
------------- -------------
Small Widget 15-JAN-10 04.25.32.000000 PM
Product 1 17-JAN-10 04.31.32.000000 PM
select * from <TABLENAME> where start_date
BETWEEN '15-JAN-10' AND '17-JAN-10'
Run Code Online (Sandbox Code Playgroud)
但是我从上面的查询中得不到任何结果.我想我必须使用"喜欢"和"%".但我不知道在哪里使用它们.请点亮这个.
提前致谢.
我正在使用oracle 10g快递版.它对数据库开发人员来说非常好用.但我面临执行存储过程的一些问题.
程序:
create or replace procedure temp_proc is
begin
DBMS_OUTPUT.PUT_LINE('Test');
end
Run Code Online (Sandbox Code Playgroud)
它创建成功.但是当我执行时:
execute temp_proc;
它显示ORA-00900:无效的SQL语句
所以需要帮助
SET SERVEROUTPUT ON
DECLARE
v_student_id NUMBER := &sv_student_id;
v_section_id NUMBER := 89;
v_final_grade NUMBER;
v_letter_grade CHAR(1);
BEGIN
SELECT final_grade
INTO v_final_grade
FROM enrollment
WHERE student_id = v_student_id
AND section_id = v_section_id;
CASE -- outer CASE
WHEN v_final_grade IS NULL THEN
DBMS_OUTPUT.PUT_LINE ('There is no final grade.');
ELSE
CASE -- inner CASE
WHEN v_final_grade >= 90 THEN v_letter_grade := 'A';
WHEN v_final_grade >= 80 THEN v_letter_grade := 'B';
WHEN v_final_grade >= 70 THEN v_letter_grade := 'C';
WHEN v_final_grade >= 60 THEN …
Run Code Online (Sandbox Code Playgroud) 如何通过终止会话来停止正在运行的SELECT语句?
该命令根据SELECT语句不断给出输出,我想在两者之间停止输出.
在oracle 10g中执行此SQL后:
SELECT SYSDATE, CURRENT_TIMESTAMP FROM DUAL
Run Code Online (Sandbox Code Playgroud)
我收到这个奇怪的输出:
造成时间差异的原因是什么?服务器时间等于SYSDATE值
我已经看到了一些decimal
在NHibernate项目中使用的示例,用于映射到Oracle中的整数列.现在,我使用int
,并long
在我的计划.
decimal
over int
/ long
?有什么好处?它表现更好吗?
出于某种原因,过去的人不使用sequence.NEXTVAL插入数据.因此,当我使用sequence.NEXTVAL来填充表时,我得到了PK违规,因为该数字已在表中使用.
如何更新下一个值以使其可用?现在,我只是一遍又一遍地插入,直到它成功(INSERT INTO tbl (pk) VALUES (sequence.NEXTVAL)
),然后同步下一个.
我ALTER USER username ACCOUNT UNLOCK
经常收到错误.
是DB问题吗?当我通过命令XE
临时解锁用户帐户时,它会没问题.然后在一段时间后发生相同的帐户锁定.
有人有同样的问题吗?使用的数据库是oracle XE
oracle ×10
oracle10g ×10
sql ×6
plsql ×5
c# ×1
nhibernate ×1
ora-00900 ×1
ora-00904 ×1
ora-01403 ×1
oracle-apex ×1
oracle11g ×1
primary-key ×1
select ×1
sequence ×1
sqlplus ×1
where-clause ×1