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. [App Store Connect帮助]五、管理构建版本(1)上传构建版本概述

    在您添加 App 至您的帐户之后,您可以使用 Xcode 或 Application Loader 来上传构建版本.稍后,您可以随着您 App 的更改上传更多构建版本.分发构建版本以供测试,或提交您的 ...

  2. mysql机制总结

    Innodb和myisam最大的不同就是 innodb支持事物 采用了行锁 myisam 采用了表锁 默认就使用了表锁 表锁:速度快 并发小 发生锁冲突高 开销小 行锁:速度慢 并发高 发生锁冲突低 ...

  3. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 Train Seats Reservation

    You are given a list of train stations, say from the station 11 to the station 100100. The passenger ...

  4. C#上机作业及代码Question2

    第二题某文件名为"*.txt",其中*可能由若干个英文单词组成.将此文件名改为"*.dat",并且单词之间用下划线连接,例如: helloworld.txt,改 ...

  5. Linux上安装wine qq的方法

    linxu上安装QQ的发 百度网盘 提取码:f2sn 步骤一.安装wine(详见:https://www.winehq.org/download) // ubuntu/ubuntukylin/mint ...

  6. JS数组、数组和学生对象

    <html> <head> <meta charset="utf-8"> <title>JS</title> </ ...

  7. [转]windows 7 下快速搭建php环境(windows7+IIS7+php+mysql)

    转贴:http://apps.hi.baidu.com/share/detail/10406992 (1).采用理由: 优点:最大化的桌面图形化操作系统,可维护性优秀.基于IIS v6.0/v7.0( ...

  8. c# 线程浅析(代理 、Invoke、Lock)

    前言:本来想根据自己的经验总结一下c#线程相关的知识点, 写之前看了一些其他人的博客,发现自己也就掌握了不到三分之一....希望通过这次的博客将自己的知识点补充一下,写出更直白的博客和初学者分享. 这 ...

  9. jquery滚轮事件

    // jquery 兼容的滚轮事件 $(document).on("mousewheel DOMMouseScroll", function (e) { var delta = ( ...

  10. shim和polyfill有什么区别

    在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别? 一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手 ...