2011-11-16
又学一招,集合转化临时表的方法:
var sql = string.Format(@"select b.FENTRYID,a.{2} from {0} a
inner join {1} b on a.FID = b.FID
inner join table(strSplit(@FENTRYID, ',')) on b.FENTRYID = FENTRYID",
ksql遇到Table(strSplit("xxxx",','))会把它转换成临时表,灰常好用的一个东东,赞一个,老崔,老魏辛苦了,ksql因你们而精彩。
2011-10-26
oracle里关联表更新时,外表(被更新的表)的字段是不能与子查询From后的表进行字段关联的,也就是外表的字段不能出现在On的后面,与子查询条件关联时,只能放在where条件里。
Example:
update table1 t1 set (f1,f2)=(
select u.f1,u.f2
from table2 u1
inner join table3 t3 on u1.fid=t3.fid and t1.fentryid=t3.fsrcentryid
where t1.fbomid=u1.fbomid
上面的红色部分写法错误,应该移动到where后,否则oracle报语法错误
2011-10-12
1、ksql不支持多表关联后进行删除
当oracle数据库建立的区域信息如图:
以下sql执行会报错:
sbSql.AppendLine(" SELECT T1.FISWORKTIME FROM T_ENG_WORKCALDATA T1 ");
sbSql.AppendLine(" INNER JOIN T_ENG_WORKCALMAP T2 ON T1.FID=T2.FCALID ");
sbSql.AppendLine(" AND T1.FDAY>=@PreDate AND T1.FDAY<@NxtDate ");
sbSql.AppendLine(Filter);
parames.Add(new SqlParam("@PreDate", DbType.Date,date.ToShortDateString()));
parames.Add(new SqlParam("@NxtDate", DbType.Date, NextDate.ToShortDateString()));
return AppServiceContext.DBService.ExecuteDynamicObject(ctx, sbSql.ToString(), null, null, CommandType.Text, parames.ToArray());
所以对于日期作为条件参数进行查询时,不要转换成字符串,就把日期类型赋值进去就可以:
因此,只需要去掉上面代码里的ToShortDateString()即可。
其实原因就是:应用层服务器的时间格式与DB服务器的时间格式不一致导致的
这里oracle显示日期格式:DD-MM-YY
而我们服务器通常是:YYYY/MM/DD,这样4位数的年份成了oracle的天了,当然非法了。
所以遇到日期作为过滤参数,我们不用自作聪明给个字符串,给个日期类型就可以了,剩下的就是数据驱动层的事了
2011-09-27
oracle下参数化查询时,变量列表顺序必须与使用到变量顺序保持一致
如:select * from t1 where t1.f1=:f1 and t1.f2=:f2;
则定义变更序列时,必须定义f1,再定义f2,否则有可能返回不是期望的结果。
2011-09-26:
/*dialect*/
SELECT result.fid FROM
(
select fid,fmaterialid,ROW_NUMBER() over (partition by fid order by fid) as FIDGROUP from
(
select fid,fmaterialid,ROW_NUMBER() over (partition by fid,fmaterialid order by fid,fmaterialid) as MasterGroup
from t_eng_bomchild
where fmaterialid in (10069) and nvl(freplaceid,0)=0 and FMATERIALTYPE <> 2
) a where a.MasterGroup=1
) result where result.FIDGROUP=1;
如下sql在pl/sql里执行无问题,但是在代码里进行提交执行时报:ORA-00911,字符无效的错误
经过尝试,发现单条oracle语句执行,不需要加”;",去掉最后的“;”即可。
2011-09-25:
1、row_number() over (partition by field0
order by field1) 这样的分页函数,sql server(2005及以上版本)及oracle(9i及以上版本)都支持,但是ksql不支持,所以用到这个的地方,就需要进行方言执行,好在他们俩语法一样,写法不用区分
2、oracle里,不能在子查询外使用as aliasName这样的格式来定义子查询返回的子表别名,不能加as, sql server都支持,所以只要在方言执行里不加"as 表别名"这样的格式来定义别名就可以。

2011-09-01:

1、ksql只认识形如:{ts'yyyy-MM-dd HH:mm:ss'} 这样的日期字符串

[K/3Cloud]ksql翻译札记的更多相关文章

  1. [K/3Cloud] KSQL日期常量用法注意

    KSQL中用日期常量必须用{ts'" + dateTime.ToString("yyyy-M-d HH:mm:ss") + "'} 正确写法: INSERT I ...

  2. [K/3Cloud] KSQL 关联表更新字段Update语法

    关联表更新字段 UPDATE tmp369faa3f7d224b0595670425008 as t1 SET FStatus=-1 where exists(select 1 from t_BD_S ...

  3. K/3Cloud二次开发基于WebDev附加进程调试

    大部分人在进行K/3cloud二次开发插件的调试时,选择的是附加IIS进程w3wp调试,本文给大家介绍一下基于WebDev附加进程调试,不用重启iis. 步骤如下: 1)拷贝K/3cloud产品安装目 ...

  4. [K/3Cloud]K3Cloud的移动审批方面

    基于最新的K3Cloud2的SP2,当前K3Cloud上所有的工作流都可以在移动手机上进行移动审批,具体如下: K/3 Cloud 支持移动审批,支持安卓和IOS. 关于申请试用: 1.打开浏览器,进 ...

  5. [K/3Cloud]关于数据库sa密码更改,管理中心登录不上的问题。

    有时候可能应为别的原因可能一不小心更改了数据库的密码,导致K/3 Cloud管理中心和单据打不开. 这个时候其实只要在注册一下就能解决了,在浏览器中输入http://192.168.25.35:800 ...

  6. [K/3Cloud]关于K/3 Cloud v2.0升级补丁的疑问

    现在除了K/3 Cloud v2.0的正式版之外,后续又发布了SP1和SP2补丁包.改善了一些问题和BUG,有些人之前可能之前装了SP1,有的可能没装过.在这里我说明一下: 不管装没装过补丁直接打SP ...

  7. [K/3Cloud] 如何从被调用的动态表单界面返回数据

    在需要返回数据的地方调用表单返回方法完成数据返回 this.View.ReturnToParentWindow(retData); 在调用界面的回调函数中取出返回结果的ReturnData即可使用. ...

  8. k/3cloud表格控件块粘贴代码逻辑

    大家可以在表单插件EntityBlockPasting事件中自己处理,然后将cancel设置为true.以下代码可以参考一下,插件代码中需要将其中一些属性或方法修改,例如this.BusinessIn ...

  9. K/3Cloud 分页报表示例参考

    分页报表首先需要实现的方法就是GetList,这个方法用来获得分页的条件. 其他的就和其他报表类似了. using System; using System.Collections.Generic; ...

随机推荐

  1. SP1557 GSS2 - Can you answer these queries II(线段树)

    传送门 线段树好题 因为题目中相同的只算一次,我们可以联想到HH的项链,于是考虑离线的做法 先把所有的询问按$r$排序,然后每一次不断将$a[r]$加入线段树 线段树上维护四个值,$sum,hix,s ...

  2. redis简介及常见问题

    目录 简介 特点 优点 高性能 高并发 为什么要用 redis 而不用 map/guava 做缓存? redis 和 memcached 的区别 Redis快的原因 为什么redis是单线程 为什么r ...

  3. CentOS 7 配置 Nginx 正向代理 http、https 最详解

    手头项目中有使用到 nginx,因为使用的三方云服务器,想上外网需要购买外网IP的,可是有些需要用到外网却不常用的主机也挂个外网IP有点浪费了,便想使用nginx的反向代理来实现多台内网服务器使用一台 ...

  4. ASP.NET MVC5 之 客户端实现文件的下载

    MVC 实现下载功能主要借助于 File 属性: //下载文件接口 public ActionResult GetTrackTempIsc(ICSModels icsModels) { bool fl ...

  5. ACM_三角形的周长

    三角形的周长 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有n根棍子,棍子i的长度为ai,想要从中选出3根棍子组成周长尽可能长 ...

  6. ACM_递推题目系列之一涂色问题(递推dp)

    递推题目系列之一涂色问题 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有排成一行的n个方格,用红(Red).粉(Pink).绿 ...

  7. C#随机取部分数据

    1.使用Random伪随机生成器 但是这样会由于转换为数组类型导致性能下降,千万要避免这种用法. 2.使用Take返回重头开始指定数量的连续元素 每次进来这个方法的时候,都使用Guid进行一次排序,然 ...

  8. opencv识别验证码的教程和资料

    简书教程:https://www.jianshu.com/p/41127bf90ca9 博客园教程(较详细):https://www.cnblogs.com/qqandfqr/p/7866650.ht ...

  9. [Android]异常3-java.lang.NoClassDefFoundError: javax.activation.DataHandler

    背景:JavaMail发送电子邮件 异常原因: 可能一>缺少DataHandler类相关jar包 可能二>有DataHandler类,DataHandler类与使用的mail.jar包不一 ...

  10. Android Studio 1.5启动出现“SDK Manager: failed to install”问题的解决

    问题描述 Android Studio 1.5是当前最新Android手机应用开发平台,下载bundle版安装后,启动Studio后出现“SDK Manager: failed to install” ...