oracle
damosk
这个作者很懒,什么都没留下…
展开
-
SQL游标(cursor)详细说明及内部循环使用示例
游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 游标是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据。一般复杂的存储过程,都会有游标的出现,他的用处主要有:定位到结果集中的某一行。 对...转载 2018-03-22 09:29:53 · 555 阅读 · 0 评论 -
sql一对多,表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中.行转列,列转行
sqlServer select * ,站名 = stuff((select ','+stnm from IRRB_STINFO_B where CHARINDEX(','+CONVERT(VARCHAR,IRRB_STINFO_B.id),','+t_ycp_xhlyqk.jczid)>0 for xml path('')),1,1,'')from t_ycp_xhlyqk C...原创 2018-11-19 15:01:07 · 5709 阅读 · 0 评论 -
oracle中自定义函数某字段多值匹配,涉及行转列,列转行等
主表中某一字段为表2 id(主键) 逗号组合,形成一对多关系,同时针对部分关联到的字段求和。 因为sql语句在程序中会拼接order by 语句。所以sql未出现order by 看上去显得繁琐 解决方法: 1,函数将字符串转成列表,再用in求和 2,stuff函数拼接,或函数转换。 使用到的内置函数: substring(str,start,end), 截取长度 charindex(split...原创 2019-03-28 14:06:17 · 998 阅读 · 0 评论 -
MERGE INTO 目标表 USING 用法批量新增或修改(可用于覆盖)
attention: 批量新增时如果是两条完全重复数据,该sql仅新增一条。 若仅主键重复,则报错。 oracle: merge into table t using ( select ? col1, ?col2 ... from dual union select ? col1, ?col2 ... from dual ...... )temp on (t.col...原创 2019-07-10 17:18:06 · 6771 阅读 · 0 评论