存儲過程求和
A. oracle 在存儲過程中加入對加工後的工資從小到大排序,並求和然後把所有結果放入一張表中
在close cur_1後面腔搭姿加一伍絕句
execute immediate 'create table temp_payroll_'枝乎||to_char(trunc(sysdate),'yyyymmdd')||' as
select emp_no,emp_date,emp_salary,sum(emp_salary) over(order by 1) salecount from payroll order by emp_salary asc';
B. 如何在mssql編寫兩個欄位相乘後求和的存儲過程,條件是當天。謝謝各位大俠!
這,,,跟存儲過程沒什麼關系吧
sql就可以算出來
select o.產品名稱,sum(o.數量*p.價格*o.折扣) from 訂單表 o
left join 產品表 p on o.產品ID=p.產品ID
where o.訂單日期=(date_format(now(), '%Y%m%d%') or 選擇的日期)
and (o.客戶編號='' or o.客戶編號=選擇的客戶)
group by o.產品名稱
C. 如何在存儲過程中實現兩個欄位相加,然後存在第三個欄位中,急急急急
說的不明白啊,兩個欄位相加,有數字求和的,有字元左右連接在一起的,對於嘩褲第一種情況,步驟為:創建存儲過程、定義輸出參數、編寫過程體、聲明參數(用語存放結果)、亂畝簡執行存儲過程。具體代碼如下:
create proc addfiled
@add int output
as
select @add=sum(f1+f2) from table1 where...
declere @nadd int output
exec pro addfiled @nadd
至於第二種情況,就需要進行左右連接了,比如將china和news合耐氏並成chinanews。樓主若有此需要請提出來,我再補上。
D. 存儲過程求和
這樣改一下:
reate procere cx_xsb @零食編號 char (5) as
declare @數量 varchar(10)
select @數量=sum(銷售數量) from 銷售表
where 零食編號=@零食編號 and year(銷售日期)=year(getdate())
group by 零食編號
select @零食編號+'在'+datename(yy,getdate())+'敏稿年橋余孝的銷售總毀並量為'+@數量
go
試一下
E. SQL 存儲過程求和,求同比,請高手解答!
以A表為例子
先建燃雀團立一個table0
create table_0
(n_date date,
sheng varchar2(20),
sale number
tongbi number);
create unique index table_0_U1 on table_0 (n_date,sheng);
create or replace package body pkg_b_tongji is
procere sp_update_party_rating(p_sdate number, p_edate number) is
v_sdate date default to_date(p_sdate,'yyyymmdd');
v_edate date default to_date(p_edate,'yyyymmdd');
v_sqlUpd varchar2(3000);
v_sqlIns varchar2(3000);
begin
v_sqlIns := 'insert into table_0(n_date,sheng,sale)
values(:v1,:v2,:v3)';
v_sqlUpd := '皮橘update table_0 t set sale = :v1
where n_date = :v2 and sheng = :v3';
for c1 in (select a.ndate,
a.sheng,
sum(sale) sale
from a
where ndate between v_sdate and v_edate
group by a.ndate,
a.sheng
)
loop
execute immediate v_sqlUpd using c1.sale;
if sql%rowcount<=0 then --如果更新操作沒有執行歲鎮就執行插入操作
execute immediate v_sqlIns using c1.n_date,c1.sheng,c1.sale;
end if;
end loop;
commit;
end sp_update_party_rating;
---更新同比
procere sp_update_tongbi is
begin
for c2 in (
select n_date,
sheng,
sale,
nvl(sale,0) sale1
from table_0 a
left join
(select n_date,sheng,a.nvl(sale,0) sale
from table_0 a,
(select t.n_date,sheng
add_months(n_date,-1) n_date2
from table_0 t)
where a.sheng = b.sheng and a.n_date = b.n_date2)
)
loop
update table_0
set tongbi = sale/sale1
where n_date = c2.n_date and sheng = c2.sheng;
commit;
end loop;
end sp_update_tongbi;
end pkg_b_tongji;
F. SQL server 創建存儲過程,要求該存儲過程能夠實現對輸入的兩個數相加,並將結果輸出。。
一、創建
create proc p_sum
(@a int,
@b int,
@c int output)
as
set @c=@a+@b
--執行
declare @c int
exec p_sum 11 ,2 ,@c output
print @c
二友猜、create proc p_multiply(@a int=0,@b int=0,@c int output)
as
begin
set @c=@a*@b
end
--調用
--declare @a int,@b int,@c int
--select @a=3,@b=2
--exec p_multiply @a,@b,@c output
--select @c
(6)存儲過程求和擴展閱讀:
例子:
CREATE PROCEDURE order_tot_amt
@o_id int,
@p_tot int output
AS
SELECT @p_tot = sum(Unitprice*Quantity)
FROM orderdetails
WHERE orderid=@o_id
GO
例子說明:該例子是建立指沒一個簡單的存儲過程order_tot_amt,這個存儲過程根據用戶輸入的訂單ID號碼(@o_id),由訂單明細表 (orderdetails)中計算該訂單銷售總額[單價(Unitprice)*數量(Quantity)],這一金額通過@p_tot這一參數輸出給調用這一存好逗型儲過程的程序。
G. 怎麼用sql存儲過程來跨行求和並且插入到資料庫中,急用,跪謝啦
跨行求和,判斷rownum(oracle)或者類似的參數的奇數偶數即可吧。
H. oracle怎麼在存儲過程中對表進行排序求和
排序用order by ,求和用sum 跟普通sql一樣,只要把獲得的值賦給變數就可以拿來使用了
I. mssql 求一個求和的存儲過程
不推薦樓耐做芹鎮主用法,也可以改昌首衡為
create PROCEDURE [dbo].[Pro_select_sum]
(
@WebId int
)
AS
declare @websum int
begin
Select @websum=ViewSum+InitPV from WebSites WHERE Webid=@webid
RETURN (@websum)
end
推薦用:
create PROCEDURE [dbo].[Pro_select_sum]
(
@WebId int
)
AS
begin
Select ViewSum+InitPV from WebSites WHERE Webid=@webid
end
go
create PROCEDURE [dbo].[Pro_select_sum]
(
@WebId int,@websum int output
)
AS
begin
Select @websum=ViewSum+InitPV from WebSites WHERE Webid=@webid
end
go
J. ORACLE利用存儲過程求和
一句話就搞定了,爛跡不用過程
Select Sum(no)
From (Select Regexp_Substr('2,3,4,5', '[^,]+'飢腔並, 1, Level) no
From Dual
Connect By Level <=
Length('2,3,4,5') - Length(Replace('2,3,4,5', '圓灶,')) + 1)