又一个问题。。帮忙看看,

xupeihuagudulei 2009-09-19 10:17:06
我有一个列名叫“卷号”的
要的规则如下:
1:当卷号为'0909001-L'这种格式时。
当增加一笔单的时候下一个卷号为'0909001-R'
2:当卷号'0909001-R'这种格式时,
当增加一笔单的时候下一个卷号为'0909002-L'
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909001-LR'
前面那串数字前四位是根据日期来变的。
请问下这在存储过程里应该咋写啊?
分数不多噢,给我全家一半家财吧,

20
...全文
177 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2009-09-19
  • 打赏
  • 举报
回复
1、前台应用很容易就能写一个判断生成这种的函数
2、后台直接写函数作为缺省绑在列上
dawugui 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 xupeihuagudulei 的回复:]
我有一个列名叫“卷号”的
要的规则如下:
1:当卷号为'0909001-L'这种格式时。
当增加一笔单的时候下一个卷号为'0909001-R'
2:当卷号'0909001-R'这种格式时,
当增加一笔单的时候下一个卷号为'0909002-L'
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909001-LR'
前面那串数字前四位是根据日期来变的。
请问下这在存储过程里应该咋写啊?
分数不多噢,给我全家一半家财吧,

20
[/Quote]
在存储过程中用个判断就行了,很简单嘛.
if right(juanhao , 3) = '1-L'
...
else
if ...
else
htl258_Tony 2009-09-19
  • 打赏
  • 举报
回复
IF OBJECT_ID('sp_getjh') IS NOT NULL
DROP PROC sp_getjh
GO
CREATE PROC sp_getjh
@jh VARCHAR(30)
AS
SELECT LEFT(@jh,4)+RIGHT(1000+SUBSTRING(@jh,5,3)+1,3)
+'-'+RIGHT(@jh,CHARINDEX('-',REVERSE(@jh))-1) AS nextjh
GO

DECLARE @s VARCHAR(30)
SET @s='0909001-L'
EXEC sp_getjh @s
/*
nextjh
---------------------------------------------
0909002-L

(1 行受影响)
*/
SET @s='0909001-LR'
EXEC sp_getjh @s
/*
nextjh
---------------------------------------------
0909002-LR

(1 行受影响)
*/
虫洞 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fredrickhu 的回复:]
有海爷在 撤退
[/Quote]
O(∩_∩)O哈哈~
高手的威力就是这样
ICrazyBoy 2009-09-19
  • 打赏
  • 举报
回复
我是这样建议的!先截取字符串咯!然后把最后得到的两位,一起判断!作为条件,写一个有返回值的函数,那么在使用到我们的STU()最后截取RINGHT()取多少位? 如果六位,那么从前面到后面截取,把截取的字符串+1在加上"LR",如果是其他的话,那么加上别的就好了!希望小弟可以帮助到你....
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
我等花都谢了。
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复

继续等,
海爷,你会回来么?
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fredrickhu 的回复:]
有海爷在 撤退
[/Quote]小F姐姐,别这样。
你。。。。快回来!!!
--小F-- 2009-09-19
  • 打赏
  • 举报
回复
有海爷在 撤退
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 feixianxxx 的回复:]
等2位大大~
[/Quote]mac兄,帮偶看看一样的啦。
fanzhouqi 2009-09-19
  • 打赏
  • 举报
回复
观望
feixianxxx 2009-09-19
  • 打赏
  • 举报
回复


等2位大大~
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
内容不能改啦,
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 haiwer 的回复:]
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909001-LR'

有没有写错?

[/Quote]写错了,海爷,不好意思。
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909002-LR'
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 haiwer 的回复:]
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909001-LR'

有没有写错?

[/Quote]写错了,海爷,不好意思。
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909002-LR'
昵称被占用了 2009-09-19
  • 打赏
  • 举报
回复
3:当卷号‘0909001-LR’这种格式时。
当增加一笔单的时候下一个卷号为'0909001-LR'

有没有写错?
xupeihuagudulei 2009-09-19
  • 打赏
  • 举报
回复
人工置顶
小F,梁哥,来帮我看看

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧