SUMSEN

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

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

2012年5月30日

摘要: create or replace trigger addCust before insert on bd_cubasdoc for each rowdeclare -- local variables here pk_bas char(20); corp char(4); /*查询目标公司目录*/ cursor bdcorp is select pk_corp from ncv5.bd_corp /*目标数据库表*/ where nvl(dr, 0) = 0 and pk_corp <> '0001'; /*查询目标公司是否存在基本档案*/... 阅读全文
posted @ 2012-05-30 09:19 sumsen 阅读(451) 评论(0) 推荐(0) 编辑

摘要: select arap_djfb.paydate as 付款日期, bd_corp.unitname as 付款单位, bd_cubasdoc.custcode as 收款单位编码, bd_cubasdoc.custname as 收款单位名称, bd_accbank.bankacc as 收款银行账号, arap_djfb.bbye as 付款金额, arap_djfb.fkyhmc as 付款银行, arap_djfb.zy as 付款摘要 from ... 阅读全文
posted @ 2012-05-30 09:17 sumsen 阅读(435) 评论(0) 推荐(0) 编辑

摘要: 直接修改客商的银行账号。这时候32459408010125337在bd_custbank被删除,新增一个32459408010125337 2同时在银行账户表bd_accbank变成两个但是新增的账号32459408010125337 2 没有单位名称从PL/SQL Developer查询看到2012.8.2更新同步bd_bankacc和bd_custbank的写法create or replace trigger C_ACCBANK_SPACEbefore insert or update on bd_accbank for each rowdeclare -- local vari... 阅读全文
posted @ 2012-05-30 09:15 sumsen 阅读(2709) 评论(0) 推荐(0) 编辑

摘要: 转载:http://greatwqs.iteye.com/blog/1061510授权语句--select * from dba_users; 查询数据库中的所有用户--alter user TEST_SELECT account lock; 锁住用户--alter user TEST_SELECT account unlock; 给用户解锁--create user xujin identified by xujin; 建立用户--grant create tablespace to xujin; 授权--grant select on tabel1 to xujin; 授权查询--gran 阅读全文
posted @ 2012-05-30 09:12 sumsen 阅读(3818) 评论(0) 推荐(0) 编辑

摘要: 发现用system登陆时,如果以普通身份,那么就必须输入正确密码;如果用管理员身份(直接在对话框“用户名”中填写system/密码 as sysdba),其中的密码就可以随便乱填了。如果没有理解错的话,这是因为登陆(win2000)系统时,是以OS 数据库管理员(对计算机上的特定数据库例程具有 SYSDBA 权限的 Windows NT 用户)的身份登陆造成的。如果直接在“运行”中操作,在我的配置中(win2000,oracle9011)是用:sqlplus "sys/密码 as sysdba"即可,好像加了sid反而不行,但可以加入数据库名:sqlplus "s 阅读全文
posted @ 2012-05-30 09:11 sumsen 阅读(1381) 评论(0) 推荐(0) 编辑

摘要: 1,把触发器说透 http://www.cnblogs.com/huyong/archive/2011/04/27/2030466.html2,把过程和函数说透 http://www.cnblogs.com/huyong/archive/2012/04/04/2031541.html3,把游标说透 http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html4,关键字用法 case if 等http://www.cnblogs.com/huyong/archive/2011/05/13/2045407.html本篇主要内容如下:8. 阅读全文
posted @ 2012-05-30 09:10 sumsen 阅读(338) 评论(0) 推荐(0) 编辑

摘要: 1 select custcode, custname from bd_cubasdoc where custname in (select custname from bd_cubasdoc group by custname having count(*)>=2) 2 select custname from bd_cubasdoc group by custname having count(*)>=23 select custcode,custname from bd_cubasdoc group by custcode,custname having count(*)&g 阅读全文
posted @ 2012-05-30 09:07 sumsen 阅读(300) 评论(0) 推荐(0) 编辑

摘要: 报错为:该辅助核算从存货核算系统传递数据是出错,提示信息如下: 会计平台数据出错:{0}获取总账辅助核算ID有误! 获得凭证子表中的辅助核算Id..FreevalueBean::findByPrimaryKey(FreevaluePK) Exception!CPROJECTID为项目标示需要从项目管理档案取值getcolvalue(bd_jobmngfil,pk_jobmngfil,remcode,getcolvalue(bd_calbody,bodycode,pk_calbody,@库存组织0@))最完美的解决方案:getcolvalue(bd_jobmngfil,pk_jobmngfil, 阅读全文
posted @ 2012-05-30 09:06 sumsen 阅读(763) 评论(0) 推荐(0) 编辑

摘要: 转发http://hi.baidu.com/laurel_2010/blog/item/5a99de3235adae92a8018e5d.html上周五发现同步过来的两张表内容有差异。本不属于自己职责范围之内,但还是未避免对大家日后工作带来不必要麻烦性,主动要求同步了下这两张表内容。本以为很简单的问题,却发现这NULL值到底有多令人讨厌。总体需求是:有两张表t1和t2【假设关注字段为id,name完全相同,我们可暂分析为两表格式完全一致】,其中t2的内容是由t1拷贝而来,我们要保证t2内容完全与t1一致。我们现只解决t1,t2中name不一致情况,缺省内容另外完成。假设创建表为:create 阅读全文
posted @ 2012-05-30 09:05 sumsen 阅读(272) 评论(0) 推荐(0) 编辑

摘要: 建议一:利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。:1,批处理文件backup.bat\.exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.d... 阅读全文
posted @ 2012-05-30 09:04 sumsen 阅读(1786) 评论(0) 推荐(0) 编辑

摘要: oracle存储过程、声明变量、for循环1、创建存储过程create or replace procedure test(var_name_1 in type,var_name_2 out type) as--声明变量(变量名 变量类型)begin--存储过程的执行体end test;打印出输入的时间信息E.g:create or replace procedure test(workDate in Date) isbegindbms_output.putline(&apos;The input date is:&apos;||to_date(workDate,&ap 阅读全文
posted @ 2012-05-30 09:01 sumsen 阅读(100285) 评论(3) 推荐(1) 编辑

摘要: runcate gl_vouchermaxno;--删除最大号表数据(不写回滚段)truncate gl_vouchernosuppl;--删除补号表数据(不写回滚段)delete from gl_vouchermaxno;--删除最大号表数据delete from gl_vouchernosuppl;--删除补号表数据--注:如果确定要删除数据的话,删除大量数据用truncate速度很快,但有个缺点是不写回滚段,不能回滚,慎重选择。用delete的方式删除数据,写回滚段,大量数据删除的时候速度很慢。/*以下语句根据凭证表数据重新插入凭证最大号*/insert into gl_voucherm 阅读全文
posted @ 2012-05-30 09:00 sumsen 阅读(688) 评论(0) 推荐(0) 编辑

摘要: http://www.asplearn.net/Wangluobiancheng/Oracle/80015.html由于迁移的表有几千万数据,但是有中文的记录集很少,能否找出有中文内容的记录数。首先采用检测每个字节ASCII的方式,这样的话需要写一个自定义函数,然后SQL中调用得到结果。但是感觉这个方法估计很耗时,毕竟每个字符都要比较,所以没有去实现。Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样就表示字符串里面含有非ASCII字符,这样就得到结果。最后写出来测试了一下,确实可行,5500万记录10秒钟就扫描结束。以下是测试用例:SQL>select* 阅读全文
posted @ 2012-05-30 08:59 sumsen 阅读(655) 评论(0) 推荐(0) 编辑

摘要: oracle 10g 中对比字符串相似度的函数发表于2011 年 06 月 23 日由Afshen最近需要处理一批往来单位的信息,把重复(单位名称相似,且实际上是相同的单位的)的单位进行合并。偶然发现oracle10g中已经有函数可以得到不同字符串的相似度。UTL_MATCH.EDIT_DISTANCE_SIMILARIT函数的更多信息,可以参考oracle官方文档:http://docs.oracle.com/cd/E14072_01/appdev.112/e10577/u_match.htm#CHDGDIDJ 阅读全文
posted @ 2012-05-30 08:58 sumsen 阅读(11923) 评论(0) 推荐(1) 编辑

摘要: Public Sub replace()For i = 1 To 10 For j = 1 To 8 If Sheet1.Cells(i, 1) <> "" And Sheet2.Cells(j, 2) <> "" And Sheet1.Cells(i, 1).Value = Sheet2.Cells(j, 2).Value Then 'MsgBox (Cells(J, 2).Value) Sheet1.Cells(j, 3) = Sheet2.Cells(j, 2) End If Next jNext iEnd Sub持 阅读全文
posted @ 2012-05-30 08:57 sumsen 阅读(292) 评论(0) 推荐(0) 编辑