Tag: plsql

SQL来生成一个从1到100的数字列表

使用DUAL表,我怎样才能得到从1到100的数字列表?

什么冒号签署“:”在SQL查询?

什么:在查询中代表什么? INSERT INTO MyTable (ID) VALUES (:myId) 它如何获得所需的价值? 编辑:那是什么标志叫? 我想在谷歌search,但是什么名字: ?

检查Oracle中是否有“数字”function

我试图检查一个oracle(10g)查询中的列的值是否是一个数字,以便比较它。 就像是: select case when ( is_number(myTable.id) and (myTable.id >0) ) then 'Is a number greater than 0' else 'it is not a number' end as valuetype from table myTable 任何想法如何检查?

如何通过Exception getCause()循环查找详细消息的根本原因

我正在尝试在hibernate中调用saveOrUpdate()来保存数据。 由于列具有唯一索引,所以当我通过Eclipsedebugging器查看时,它会抛出ConstraintViolationException 。 由于在向表中插入数据时,根源可能会因不同的例外而有所不同。 我想知道,如何循环/遍历getCause()来检查exception及其消息的根本原因。 更新: 感谢大家的友善回应,事情是我想输出像下面的图像: 我需要访问detailMessage字段。 (我真的很抱歉如果不能让我的问题更清楚。) 谢谢。

IS和AS关键字的PL / SQL Oracle函数或程序创build

我一直在试图找出在创buildOracle函数或过程时,PL / SQL中的IS和AS关键字之间有什么区别。 我已经search,无法find任何有关这方面的信息。 有谁知道区别?

Oracle:如果行不存在,如何INSERT

在PL / SQL(oracle)中插入一行,如果它不存在,最简单的方法是什么? 我想要的东西是: IF NOT EXISTS (SELECT * FROM table WHERE name = 'jonny') THEN INSERT INTO table VALUES ("jonny", null); END IF; 但它不工作。 注意:这个表有2个字段,比如名字和年龄 。 但是只有名字是PK。

如何将DBMS_OUTPUT.PUT_LINE的输出redirect到一个文件?

我需要在pl / sql中debugging数字的时间程序,我想用: SELECT systimestamp FROM dual INTO time_db; DBMS_OUTPUT.PUT_LINE('time before procedure ' || time_db); 但我不明白输出到哪里,我如何将它redirect到一个日志文件,其中将包含我想收集的所有数据?

如何使用低特权的PL-SQL获得Oracle中的列数据types?

我对Oracle数据库中的几个表有“只读”访问权限。 我需要获取某些列的模式信息。 我想使用类似于MS SQL的sp_help东西。 我在这个查询中列出了我感兴趣的表格: SELECT * FROM ALL_TABLES 当我运行这个查询时,Oracle告诉我“在模式中没有find表”,是的,参数是正确的。 SELECT DBMS_METADATA.GET_DDL('TABLE', 'ITEM_COMMIT_AGG', 'INTAMPS') AS DDL FROM DUAL; 使用我的Oracle通用转换器9000后,我猜测这是行不通的,因为我没有足够的权限。 鉴于我的约束我怎样才能得到一个列的数据types和数据长度我已经阅读访问与PL-SQL语句?

是否有可能从PL / SQL块输出一个SELECT状态?

我如何得到一个PL / SQL块来输出一个SELECT语句的结果,就像我做了一个普通的SELECT ? 例如,如何做一个SELECT如: SELECT foo, bar FROM foobar; 提示: BEGIN SELECT foo, bar FROM foobar; END; 不起作用。

在存储过程中截断表

当我在Oracle shell中运行以下代码时,它工作正常 truncate table table_name 但是当我尝试把它放在一个存储过程 CREATE OR REPLACE PROCEDURE test IS BEGIN truncate table table_name; END test; / 它失败了 ERROR line 3, col 14, ending_line 3, ending_col 18, Found 'table', Expecting: @ ROW or ( or . or ; := 为什么? 谢谢,Klas Mellbourn