问一个按时间排序的触发器的问题
如题 做了个按时间排序的触发器
几经调试 已经成功 代码如下
CREATE TRIGGER new_insert ON dbo.ShrinkOrder
after INSERT
AS
declare @Orderid char(11)
declare @TODAY char(8)
declare @num int
declare @count int
begin
select @TODAY=convert(char(8),getdate(),112)
select @num=(select count(orderid) from shrinkorder where orderid like @today+'%')
if @num=0
begin
select @count=0
end
else
begin
select @count=(select top 1 convert(int,right(OrderId,3)) from ShrinkOrder where orderid like @TODAY+'%' order by orderid desc)
end
select @Orderid=@TODAY+right('000'+ltrim(convert(char(3),@count)+1),3)
update ShrinkOrder set OrderId=@Orderid where OrderId='9999999999'
end
但是有个问题没弄明白 我定义的局部变量@count为整型 最后在更新@Orderid的时候对@count的加1操作 为什么要在变成字符型之后才行?
问题就是这句
select @Orderid=@TODAY+right('000'+ltrim(convert(char(3),@count)+1),3)
如果我在之前加1 也就是
select @Orderid=@TODAY+right('000'+ltrim(convert(char(3),@count+1)),3)这样
自动生成的编号就变成200609131而不是20060913001了…………
请问下 这到底是为什么啊?
几经调试 已经成功 代码如下
CREATE TRIGGER new_insert ON dbo.ShrinkOrder
after INSERT
AS
declare @Orderid char(11)
declare @TODAY char(8)
declare @num int
declare @count int
begin
select @TODAY=convert(char(8),getdate(),112)
select @num=(select count(orderid) from shrinkorder where orderid like @today+'%')
if @num=0
begin
select @count=0
end
else
begin
select @count=(select top 1 convert(int,right(OrderId,3)) from ShrinkOrder where orderid like @TODAY+'%' order by orderid desc)
end
select @Orderid=@TODAY+right('000'+ltrim(convert(char(3),@count)+1),3)
update ShrinkOrder set OrderId=@Orderid where OrderId='9999999999'
end
但是有个问题没弄明白 我定义的局部变量@count为整型 最后在更新@Orderid的时候对@count的加1操作 为什么要在变成字符型之后才行?
问题就是这句
select @Orderid=@TODAY+right('000'+ltrim(convert(char(3),@count)+1),3)
如果我在之前加1 也就是
select @Orderid=@TODAY+right('000'+ltrim(convert(char(3),@count+1)),3)这样
自动生成的编号就变成200609131而不是20060913001了…………
请问下 这到底是为什么啊?
...全文
相关推荐
(2025)C语言考试题库及答案.docx
(2025)C语言考试题库及答案.docx
编译原理课设:手写词法分析器与递归下降语法分析器实践
编译原理是计算机科学的核心课程,其前端技术——词法分析和语法分析,决定了源代码如何从字符流转化为结构化的语法树。词法分析器负责将字符序列切分为带有类型的Token,而语法分析器则依据文法规则(如LL(1)或EBNF)将这些Token组织成语法树。理解Token的识别、文法消除左递归、递归下降解析算法以及符号表的作用域管理,是构建小型编译器的关键能力。这类技术不仅用于课程设计,在代码格式化、静态分析、IDE语法高亮等工程场景中同样具有广泛价值。本文围绕手写实现而非依赖flex/bison,深入讲解词法分析器的
2025最新C语言考试题库及答案.docx
2025最新C语言考试题库及答案.docx
2025C语言考试题库及答案.docx
2025C语言考试题库及答案.docx
(2025)建筑行业安全员C证考试题库及答案.docx
(2025)建筑行业安全员C证考试题库及答案.docx


