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. 10.11 NOIP模拟题(1)

    /* 离散化 差分 */ #include<bits/stdc++.h> #define N 4000007 using namespace std; int n,ans; int tmp ...

  2. 对mysql修改库里面所有的引擎mysaim 为 innodb

    1.查看当前数据引擎的命令: show engines; 2. USE `[DBNAME]`; SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NA ...

  3. codechef: ADAROKS2 ,Ada Rooks 2

    又是道原题... (HDU 6313 Hack It , 多校 ACM 里面的题) 题目说构造一个 n * n 矩阵,染色点不得构成矩形...然后染色点个数至少 8 * n 然后我们生成一个数 m , ...

  4. 洛谷 P1433 吃奶酪(记忆化)

    题目描述 房间里放着n块奶酪.一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处. 输入输出格式 输入格式: 第一行一个数n (n<=15) 接下来每行2个实数,表示第i块 ...

  5. Python中re操作正则表达式

    在python中使用正则表达式 1.转义符 正则表达式中的转义: '\('表示匹配小括号 [()+*/?&.] 在字符组中一些特殊的字符会现出原形 所有的\s\d\w\S\D\W\n\t都表示 ...

  6. asp.net MVC Session 第二次加载丢失问题

    在做本地调试时发现,session 加载过了对象之后,每次都是第一次加载成功,第二次再进来时候session 就是失效丢失了,究其原因:原来是因为第一次加载session 过大导致,原有其他sessi ...

  7. System.AppDomain类详解(二)

    进程是存在独立的内存和资源的,但是AppDomain仅仅是逻辑上的一种抽象.一个process可以存在多个AppDomain.各个AppDomain之间的数据时相互独立的.一个线程可以穿梭多个AppD ...

  8. 【Android开发】XML文件解析

    最近在做一个项目,涉及到XML文件的解析,废话不多说,如下: 读取 private ArrayList<Data> readXMLLocked() { File file = new Fi ...

  9. 【译】x86程序员手册29-第8章 输入输出

    Chapter 8 Input/Output 输入/输出 This chapter presents the I/O features of the 80386 from the following ...

  10. 【百度编辑器ueditor】工具,如何去掉百度编辑器 ueditor 元素路径、字数统计等

    去掉如下截图: 在百度编辑器 ueditor 根目录下: ueditor.config.js 文件中 搜索并将参数elementPathEnabled设置成false即可 常用功能开关如下: ,ele ...