
SQL
DoDoDTa
这个作者很懒,什么都没留下…
展开
-
可重复执行SQL
--删除重复数据-------------删除重复数据--------------------------declare pvar_i_cunt integer; sStockcode varchar2(20); sExchange varchar2(10); sSql转载 2014-05-26 23:37:36 · 893 阅读 · 0 评论 -
oracle的递归查询语句
比如模块表 mod 字段 number modId number parentModId varchar modName 从下往上查 select * from mod m start with m.modId = ? connect by prior m.parentModId = m.modId 从上往下查 select * from mod m start with m.pa...转载 2018-09-01 10:53:51 · 502 阅读 · 0 评论 -
传入表或SQL语句,分页查询
create or replace procedure 分页查询(pvc_input varchar2, pi_backcode out integer, pvc_message out varchar2, ...原创 2018-09-01 10:53:15 · 417 阅读 · 0 评论 -
数字金额转化为大写金额
create or replace function Fn_GetMoneyToChina(p_money in number) return varchar2 is /* 功能:数字金额转化为汉字金额 最大支持金额 9999999999999999.99 (支持千万亿的任何金额) 小数点支持2位 */ type myArray is ta...原创 2018-09-01 10:52:30 · 512 阅读 · 0 评论 -
管道化表函数PIPELINED
为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成。REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化。Oracle 9i 通过引入的管道化表函数纠正了后一种情况。表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数据库表一样。管道化表函数...转载 2018-09-01 10:49:21 · 686 阅读 · 0 评论 -
Oracle 获取当前年、月、日
Oracle 获取当前年、月、日1、//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 //语法如下: EXTRACT ( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | T...转载 2018-09-01 10:47:17 · 2590 阅读 · 0 评论 -
oracle 中,查找 小于指定日期的最近日期
create or replace function fn_GetNearDateFromTable(p_date int) return date is Result date;begin select max(a.datefiled) into result from tables a where a.datefiled <= to_date(p_date, 'Y...原创 2018-09-01 10:41:44 · 9882 阅读 · 0 评论 -
--alter table myTAB modify myfield not null novalidate;
--alter table myTAB modify myfield not null novalidate;--创建表declare tm_i integer; begin select count(*) into tm_i from user_tables where lower(table_name)=lower('aaa'); if原创 2014-05-26 23:45:50 · 636 阅读 · 0 评论 -
oracle管道
例子1:--需要预先定义str_split类型CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000)--管道化表函数CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2, p_delimi转载 2014-05-26 23:51:32 · 404 阅读 · 0 评论 -
orale 创建表
declare tm_i integer; begin select count(*) into tm_i from user_tables where lower(table_name)=lower('表名'); if tm_i>0 then execute immediate 'drop table 表名 '; end if;end;转载 2014-05-26 23:48:29 · 470 阅读 · 0 评论