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. C#和C++的区别(一)

    C#特性 1.指针可以有++.--运算,引用不可以运算: 2.类或结构的默认访问类型是internal 类的所有成员,默认是private 3.属性:用于定义一些命名特性,通过它来读取和写入相关的特性 ...

  2. Joseph UVA 1452 Jump

    题目传送门 /* 数学:约瑟夫环问题的变形,首先定义f[i]表示剩下i个人时,最后一个选出的人,有个公式:f[i] = (f[i-1] + m) % i f[1] = 0(编号从0开始),那么类似最后 ...

  3. 通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题

    1.问题假设: 在B机中IP地址与子网掩码都固定,网关是路由器的LAN口的IP地址,我们希望通过路由器来实现B机与A机之间的单向通讯问题,也就是说B可以ping通A且可以访问A提供的FTP站点. 2. ...

  4. 最大流增广路(KM算法) HDOJ 2255 奔小康赚大钱

    题目传送门 /* KM:裸题第一道,好像就是hungary的升级版,不好理解,写点注释 KM算法用来解决最大权匹配问题: 在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接Xi,Yj有权w(i ...

  5. magento getUrl函数跳转admin模块问题

    在用以下代码时,跳转后的url里面会是空的,即没有admin这个值 $this->getUrl('admin/catalog_product/edit', array('id' => $c ...

  6. Android 性能优化(10)网络优化( 6)Optimizing General Network Use

    Optimizing General Network Use This lesson teaches you to Compress Data Cache Files Locally Optimize ...

  7. HTML DOM getElementById() 方法

    定义和用法 getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用. 语法 document.getElementById(id) 说明 HTML DOM 定义了多种查找元素 ...

  8. Java 8 (3) Stream 流 - 简介

    什么是流? 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语言来表达,而不是临时编写一个实现).就现在来说你可以先把它当做是一个遍历数据集的高级迭代器.此外,流还支持并行,你 ...

  9. Spring.Net学习笔记(5)-集合注入

    一.开发环境 系统:Win10 编译器:VS2013 .net版本:.net framework4.5 二.涉及程序集 Spring.Core.dll 1.3.1 Common.Loggin.dll ...

  10. LN : leetcode 529 Minesweeper

    lc 529 Minesweeper 529 Minesweeper Let's play the minesweeper game! You are given a 2D char matrix r ...