SUMSEN

Oracle&Sql爱好者,用友NC管理员

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

09 2012 档案

摘要:如下图with a as (select t.outflag,t.pk_corp, t.subjcode from bd_accsubj t where t.pk_accsubj in ('0001E11000000000050W','0001N510000000000OZW') ) SELECT distinct * FROM (SELECT you.subjcode,nvl(you.outflag, me.outflag) outflag, nvl(you.pk_corp, me.pk_corp )pk_corp FROM a you ... 阅读全文
posted @ 2012-09-27 15:58 sumsen 阅读(2175) 评论(0) 推荐(0) 编辑

摘要:oracle lag和lead函数 2010-11-01 17:45这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值,并作为新列存在表中。某表国家-------行业-------总值---------时间---------上次总值china------农业--------50--------2010-01-25----空缺目前没值china------农业--------40--------2010-01-15----空缺目前没值china------农业--------30--------2010-01-21----空缺目前没值china------农业-------- 阅读全文
posted @ 2012-09-24 16:29 sumsen 阅读(479) 评论(0) 推荐(0) 编辑

摘要:早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。也许你没有遇到过,原因如下:你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。而一旦你和我同事一样,有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题。如下图如下是解决思路:根据出错信息判断出客户端未监听到实例服务名1、通过重启服务的方式启动数据库,再次连接仍 阅读全文
posted @ 2012-09-24 15:04 sumsen 阅读(3733) 评论(0) 推荐(0) 编辑

摘要:http://blog.csdn.net/a9529lty/article/details/6461379一、参数游标 参数游标是带有参数的游标,在定义参数游标之后,当使用不同参数值多次打开游标时,可以产生不同的结果集,语法如下:cursor cursor_name(parameter_name datatype) is select_statement;定义参数游标时,游标参数只能指定数据类型,而不能指定长度。示例如下:Oracle代码1.declare2.cursor temp_cursor(no number) is select name from cip_temps where id 阅读全文
posted @ 2012-09-13 16:00 sumsen 阅读(1518) 评论(0) 推荐(0) 编辑

摘要:RANK功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按ORDER BY子句排序,然后给每一行赋一个号,从而形成一个序列,该序列从1开始,往后累加。每次ORDER BY表达式的值发生变化时,该序列也随之增加。有同样值的行得到同样的数字序号(认为null时相等的)。然而,如果两行的确得到同样的排序,则序数将随后跳跃。若两行序数为1,则没有序数2,序列将给组中的下一行分配值3,DENSE_RANK则没有任何跳跃。SAMPLE:下例中计算每个员工按部门分区再按薪水排序,依次出现的序列号(注意与DENSE_RANK函数的区别)DENSE_RA 阅读全文
posted @ 2012-09-11 11:54 sumsen 阅读(619) 评论(0) 推荐(0) 编辑

摘要:这些天一直在思考和学习这个问题,今天上午10点左右终于解决了,挺完美的,函数,可以直接select,并且在PL/SQL Developer使用。两周的时间,感觉像过了一个月。8.24日问题的提出这是我在itpub提出问题的帖子:http://www.itpub.net/thread-1712205-1-1.html微博、qq、电话何涛、面谈赵泉、itpub、csdn询问,特别感谢以下人员1,itpub&weibo:dingjun123 http://www.itpub.net/thread-1712205-3-1.html 30楼 给出过程的雏形2,itpub:eric0435 htt 阅读全文
posted @ 2012-09-11 10:52 sumsen 阅读(1335) 评论(0) 推荐(0) 编辑

摘要:http://blog.sina.com.cn/s/blog_5da3d5c50100ba7v.html1、行触发器有 for each row子句。语句触发器没有for each row 子句。2、行触发器,可以有 when 作为触发限制,可以使用new/old。语句触发器不能有when 作为触发限制。3、行触发器:对应DML语句所影响到的表中的每一行,触发器都要执行一遍。4、语句触发:对应DML语句所影响到的表中的所有行,触发器只执行一遍。例子:--测试表create table wdt_test(test number(20));--日志表create table wdt_log(log 阅读全文
posted @ 2012-09-10 16:37 sumsen 阅读(831) 评论(0) 推荐(0) 编辑

摘要:1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DAT 阅读全文
posted @ 2012-09-10 11:56 sumsen 阅读(263) 评论(0) 推荐(0) 编辑

摘要:-- 表create table test (names varchar2(12), dates date, num int, dou double);-- 视图create or replace view vi_test asselect * from test;-- 同义词create or replace synonym aafor dbusrcard001.aa;-- 存储过程create or replace produce dd(v_id in employee.empoy_id%type)asbeginenddd;-- 函数create or replace function e 阅读全文
posted @ 2012-09-10 11:55 sumsen 阅读(349) 评论(0) 推荐(0) 编辑

摘要:存储过程返回结果集。*过程返回记录集。CREATE OR REPLACE PACKAGE pkg_testAS TYPE myrctype IS REF CURSOR; PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);END pkg_test;/CREATE OR REPLACE PACKAGE BODY pkg_testAS PROCEDURE get (p_id NUMBER, p_rc OUT myrctype) IS sqlstr VARCHAR2 (500); BEGIN IF p_id = 0 THEN OPEN p_rc FOR SE 阅读全文
posted @ 2012-09-10 11:53 sumsen 阅读(1684) 评论(0) 推荐(0) 编辑

摘要:1,sm_createcorp中各个模块的accountyear,accountmonth2,bd_glorgbook表中pk_startaccperiod和pk_startaccperiod_FA,比如这里由2008-11改成2012-01,随便找一个2012-01建账的公司的pk_startaccperiod3,update bd_accsubj set beginyear='2005' ,beginperiod='10' where pk_corp = (select pk_corp from bd_corp where unitcode = '& 阅读全文
posted @ 2012-09-07 16:47 sumsen 阅读(2270) 评论(0) 推荐(0) 编辑

摘要:引用一、显式cursor 显式是相对与隐式cursor而言的,就是有一个明确的声明的cursor。显式游标的声明类似如下(详细的语法参加plsql ref doc ): cursor cursor_name (parameter list) is select ... 游标从declare、open、fetch、close是一个完整的生命旅程。当然了一个这样的游标是可以被多次open进行使用的,显式cursor是静态cursor,她的作用域是全局的,但也必须明白,静态cursor也只有pl/sql代码才可以使用她。下面看一个简单的静态显式cursor的示例:declare cursor ge. 阅读全文
posted @ 2012-09-03 16:39 sumsen 阅读(497) 评论(0) 推荐(0) 编辑

摘要:写出自己的函数,输入公司编码得到公司名称。command窗口:create or replace function get_corp(corpcode varchar2) return varchar2asv_name bd_corp.unitname%type;begin select unitname into v_name from bd_corp where unitcode=corpcode; return v_name; end;执行的时候可以直接调用9.3 15:27更新 例外create or replace function get_corp(corpcode varc... 阅读全文
posted @ 2012-09-03 15:13 sumsen 阅读(304) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示