oracle如何写循环日期自增_id自增标识列如何给予字母、日期、数字复合型的自增 。不是纯数字的自增。...

发表时间:2011-11-14

Hi,

这个是要写存储过程的,没有内置的函数实现,给你一个sql server的我写的例子.Hotel Id = Char + int.  虚线之间的

create proc [dbo].[proc_add_hotel]

(

@in_hotelName varchar(50),

@in_location varchar(3),

@in_noOfDeluxRooms int,

@in_noOfExeRooms int,

@in_DeluxRoomFare_PerDay int,

@in_EXERoomFare_PerDay int,

@in_hotelTax decimal(4,2),

@out_addStatus int output

)

as

begin

declare @temp_hotelnumbers1 int

declare @temp_hotelnumbers2 int

declare @temp_hotelid varchar(4)

declare @temp_nexthotelid varchar(4)

---------------------------------------------------------

select @temp_hotelnumbers1=count(*),@temp_hotelid=max(HotelId) from tbl_hotel_details

set @temp_nexthotelid=''H''+cast((cast(substring(@temp_hotelid,2,3)as int)+1)as varchar(4))

---------------------------------------------------------

insert into tbl_hotel_details values(@temp_nexthotelid,@in_hotelName,@in_location,@in_noOfDeluxRooms,@in_noOfExeRooms,@in_DeluxRoomFare_PerDay,@in_EXERoomFare_PerDay,@in_hotelTax)

select @temp_hotelnumbers2=count(*) from tbl_hotel_details

if(@temp_hotelnumbers2>@temp_hotelnumbers1)

set @out_addStatus=1

else

set @out_addStatus=0

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值