帮忙SQLSERVER通过存储写ORACLE语句优化

问题描述

这个 问题放错大类了 不会移动现在有这个需求 从sqlserver里查出数据进行简单的出来后 插入oracle表中 我写好的个存储但是运行的时候感觉效率特别慢谁能帮我把下面的 语句优化下存储在sqlserver这边if Exists(select name from sysobjects where name='ZHIJIAN_BANZHENG_INIT' and type='P') drop procedure ZHIJIAN_BANZHENG_INITgocreate PROCEDURE ZHIJIAN_BANZHENG_INITas DECLARE @zch varchar(30), --长度根据实际长度修改@jgdm varchar(30),@jgmc varchar(250),@jglx varchar(30),@bzrq datetime,@body varchar(500),@date varchar(10),@uid varchar(30)set @date =convert(char(10),getdate(),120) --获得当前日期declare cursor2 cursor for --定义游标cursor1select zch,jgdm,jgmc,jglx,bzrq from jgdm where jglx='1' --使用游标的对象(跟据需要填入select语句)open cursor2 -- fetch cursor2 --into @name,@party_id --打开游标WHILE 1=1 --判断是否成功获取数据beginfetch next from cursor2 into @zch,@jgdm,@jgmc,@jglx,@bzrq --将游标向下移1行if(@@FETCH_STATUS =-1)breakSET @uid=CAST(CAST(NEWID() as nvarchar(36)) + CAST(GETDATE() as varchar(3)) as varchar(30))set @body='{"QYZCH":'+@zch+--封装为JSON格式'","ZZJGDM":"'+@jgdm+'","JGMC":'+@jgmc+'","JGZCLX":"'+@jglx+'","BZRQ":"'+CONVERT (varchar(8),@bzrq,112) +'"}'--print(@body)insert into [127.0.0.1]..[JXWFRONT].[DATA_TEMP_REPORT] values(@uid,'zhijian_banzheng',@body,'1',@date) --插入oracle数据库 如何优化endclose cursor2 --关闭游标deallocate cursor2

解决方案

引用insert into [127.0.0.1]..[JXWFRONT].[DATA_TEMP_REPORT] values(select CAST(CAST(NEWID() as nvarchar(36)) + CAST(GETDATE() as varchar(3)) as varchar(30)), 'zhijian_banzheng', '{"QYZCH":'+ zch +'","ZZJGDM":"'+jgdm+'","JGMC":'+jgmc+'","JGZCLX":"'+jglx+'","BZRQ":"'+CONVERT (varchar(8),@bzrq,112) +'"}', '1', convert(char(10),getdate(),120) from jgdm where jglx='1' )

时间: 2024-09-12 00:06:30

帮忙SQLSERVER通过存储写ORACLE语句优化的相关文章

Oracle 语句优化分析说明第1/2页_oracle

1. ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名,因此 FROM 子句中写在最后的表(基础表 driving table)将被最先处理.在 FROM 子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表. 例如: 表 TAB1 16,384 条记录 表 TAB2 1 条记录 选择 TAB2作为基础表 (最好的方法) select count(*) from tab1,tab2 执行时间 0.96秒 选择 TAB2作为基础表 (不佳的方法) select cou

sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写?

问题描述 sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写? sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写? 解决方案 oracle,sqlserver分页查询sql语句重复的数据只取一条,SQL语句如何写 解决方案二: select test.currval from dual 解决方案三: oracle里面不是差不多的吗

请教高手如何优化下面oracle语句,19W条数据花了几个小时

问题描述 请教高手如何优化下面oracle语句,19W条数据花了几个小时 3C update agz set fa_id=(select B from B123 where a=agz.old_fa_id);commit;update agz set person_id=(select ry.id from dm_gy_ry ry where ry.sfzjhm=agz.ry_sfz and ry.yxbz='Y' and rownum=1);commit;update agz set pers

select-sql 语句优化,求帮忙

问题描述 sql 语句优化,求帮忙 Select t9.Product_IDa.Product_Namea.Product_BuyNum b.Org_Price b.Sale_Price c.Img_Small c.Img_Middleisnull((select SubShop_Price from subshop_product where subshop_id=1057 and product_id=a.product_id)b.Sug_Price) as SubShop_Price b.

oracle数据库优化辅助SQL语句_oracle

具体详情请看下文代码分析. --查询正在执行的SQL语句 SELECT OSUSER 电脑登录身份, PROGRAM 发起请求的程序, USERNAME 登录系统的用户名, SCHEMANAME, B.Cpu_Time 花费cpu的时间, STATUS, B.SQL_TEXT 执行的sql, B. FROM V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS = B.ADDRESS AND A.SQL_HASH_VALUE = B.HASH_VALUE

谁能帮忙吧下面的sqlserver存储过程改成oracle版的

问题描述 谁能帮忙吧下面的sqlserver存储过程改成oracle版的 谁能帮忙吧下面的sqlserver存储过程改成oracle版的 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[PagingQuery] @sql NVARCHAR(4000), @currentpage int, @pagesize int, @count int=0 output AS SET NOCOUNT ON DEC

hibernate4-想请大家帮忙下 用hibernate如何写查询语句

问题描述 想请大家帮忙下 用hibernate如何写查询语句 例如 group表 plate表 id name plate_id id name 1 用户管理 1 1 系统管理 2 :机构管理 1 2 业务管理 3 菜单管理 1 4 角色管理 1 5 业务查询 2 如何查询得到: 主 从 系统管理: 用户管理 机构管理 菜单管理 角色管理 业务管理: 业务查询

写了个oracle语句,抽出来的数据有的 有多条完全 重复的

问题描述 写了个oracle语句,抽出来的数据有的 有多条完全 重复的 请教各位大神,可能的原因 是不是where条件可能有问题? 解决方案 用distinct约束一下 select distinct * from 表名 解决方案二: 恩恩 是的 这样可以解决,请问下 您知道发生这种情况的原因么 解决方案三: distinct sql 是这样的,Oracle 也是么 解决方案四: 数据库中你where条件限制下有多条重复记录,可以查看数据库源数据.

oracle10g-sql语句如何写(oracle)

问题描述 sql语句如何写(oracle) 1C 1.明细表货物编号 货物名称 单价Item001 内存条 150 2.销售纪录表销售单号 货物编号 数量 销售时间Sale001 Item001 5 2014-09-10Sale002 Item001 15 2014-09-10 1.因数据录入原因在Item表中存在部分重复录入的数据(货物名称和单价同时一样才认为是重复)请找出存在重复的数据并告知出现次数:内存条 150 2CPU 150 5 解决方案 select 货物名称 单价count(货物