首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

施行函数时,声明的变量值让它固定?

2012-12-30 
执行函数时,声明的变量值让它固定??生成订单号的一个函数,declare @order_no_new nvarchar(50)set @order_

执行函数时,声明的变量值让它固定??
生成订单号的一个函数,

declare @order_no_new nvarchar(50)
set @order_no_new=(select dbo.Gen_Order_No())
在后面的语句中要重复用到@order_no_new,要怎样才能使得@order_no_new的值固定呢?

不知道大家明白我意思没。。。
[解决办法]
那就向tbl_order_detail表Insert的时候不要重新去取Gen_Order_No(),而是从主表tbl_order里获取201211060016单号就好了呀。

declare @order_no_new nvarchar(50)
set @order_no_new=(select dbo.Gen_Order_No())
假如@order_no_new = '201211060016'

Insert Into tbl_order(单号, 总额)
Values(@order_no_new, 1141.93)

Insert  Into tbl_order_detail(单号, 小计)
Select @order_no_new, 259.00
Union
Select @order_no_new, 441.50
Union
Select @order_no_new, 50.00

还有一种方式,就是如果你的表设计的真的这么简单的话,完全可以先写子表,然后主表中将子表Group By一下回写回去就好了。

热点排行