存儲過程訂單號
① 資料庫存儲過程,根據客戶號查詢客戶的訂單信息,並按月統計數量和金額
select sum(a.銷售數量),sum(a.銷售金額),sum(b.匯款金額) from 表1 a inner join 表2 b
on a.客戶名稱=b.客戶名稱 and a.銷售日期 between 本月25日 and 26日 group by a.客戶名稱
剩下年匯總 你在分別select sum()單獨查吧
要不你軟體支持自定義存儲過程 就寫一個存儲過程 把時間段當參數傳進去,再用getdate函數取當前年數 有點費勁,估計得寫三維報表 哈哈 你還是簡單化吧
② oracle:寫一個存儲過程,通過輸入的參數圖書編號及顧客編號,生成一份新的訂單和詳細訂單
寫一個純屬過程通過輸入的參數圖書編號寫一個純屬過程,通過輸入的參數,圖書編號及顧客變化,生成一份新的訂單和訂單,祥棣在裡面,就是先把這個訂單編號做一個資料庫。
③ 如何創建一個存儲過程中的訂單號自動生成
sql server中可以用sequence來實現訂單號的自動生成。例如創建如下序列:
create sequence orderSeq
as bigint --數據類型
start with 100000 --開始值
increment by 1 --增量
minvalue 1 --最小值
maxvalue 1000000--最大值
no cycle --不循環
cache 3 --設置cache大小為3
這樣訂單號就會從100000開始每次自增1生成。
④ 急!sql 存儲過程生成訂單號
set @strs= 'SS'+right(CONVERT(varchar(10),year(getDate())),2)+right('00'+convert(varchar,month(getDate())),2) +right('00'+convert(varchar,day(getDate())),2) + right('0000'+ convert(varchar,@number),4)
上面的你應該理解吧, right('0000'+ convert(varchar,@number),4) 這個可以產生0001 , 記得@number是今天的第幾個。其次在插入之前要判斷該訂單號是否存在(為什麼嗎,你應該明白,刪除會造成訂單編號的重復)。
⑤ .編寫一個存儲過程,要求向銷售訂單表(sell_order)中插入一條記錄,銷售單號不能重復,由系統產生,
1.(單號由系統產生),別人應該寫了類似生產單號的存儲過程吧,你可以看看別人是怎麼寫的
2.(用戶編號、商品編號必須存在),建表時設為not null即可,
3.(並且能及時更新此商品的庫存量和銷售總量),這個建議用觸發器。
⑥ 存儲過程是怎麼生成單號的
通常我會用最簡單的辦法:利用SQL資料庫的自增ID。
如果是存儲過程裡面,那麼先insert語句增加記錄(不寫單號或隨便給一個),然後用update語句,利用自增id(insert會自動生成,並且絕對不重復)和日期拼接一個字元串,這樣就可以了。這里有個需要注意的,如果你沒有其它的唯一標識,那麼需要使用事務,將insert和update在一個事務裡面完成(begin trans/end trans),這樣取order by id desc的top1就可以了,否則可能取錯。或者用where 單號='預設無效值' 也是可以的,對應更新ID,無論幾條記錄。
以上是簡單辦法,如果一定要一個語句會比較復雜,會用到游標或者行號,實際的效率也不高,因此,如果在存儲過程中,那麼這個方法是最靠譜的。
⑦ SQL 資料庫中如何自動生成訂單號
SQL server中可以用sequence來實現訂單號的自動生成。
例如創建如下序列:
create sequence orderSeq
as bigint --數據類型
start with 100000 --開始值
increment by 1 --增量
minvalue 1 --最小值
maxvalue 1000000--最大值
no cycle --不循環
cache 3 --設置cache大小為3
這樣訂單號就會從100000開始每次自增1生成。
⑧ 利用存儲過程創建訂單編號
假設表叫A,假設訂單編號叫POId
存儲過程可以寫成
CREATE PROCEDURE XXX
DECLARE @P_CompanyCode Char (4)
DECLARE @P_NewPOId Char (22) OUTPUT
AS
DECLARE @P_LastId Char (22)
DECLARE @P_SN Char (4)
SELECT @P_LastId=MAX(POId) FROM A
SELECT @P_SN=Right("0000"+CAST(Right(@P_LastId,2) AS Int)+1,4)
SELECT @P_NewPOId=@P_CompanyCode ....
⑨ 訂單號是由年月日+0001,年月日系統得來,後面是根據需要自動增長的,並且次日又從0001自動增長的存儲過程
假設表名為T,訂單號欄位為D
declare @maxNO int, @D varchar(13)
select @maxno = max(right(D,4)) from T
where left(D,8) = replace(convert(varchar(10),getdate(),120),'-','')
if @maxno is null
set @D = replace(convert(varchar(10),getdate(),120),'-','') +'0001'
else
set @D = replace(convert(varchar(10),getdate(),120),'-','')
+replace(space(4-len(@maxno)),space(1),'0')+ltrim(str(@maxno+1))
--返回下個編號
select @D
⑩ 存儲過程自動生成訂單號
Getkey(tableName)就是調用存錯過程GetID的方法,@Size是固定的還是應該作為參數傳進來?