| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1463 人关注过本帖
标题:我象高手提的第一个的问题!!!
取消只看楼主 加入收藏
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
 问题点数:0 回复次数:12 
我象高手提的第一个的问题!!!

--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。
--得到新编号的函数
CREATE FUNCTION dbo.f_NextBH()
RETURNS char(8)
AS
BEGIN
RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))
END
GO

--在表中应用函数
CREATE TABLE tb(
BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)

--我想显示结果
SELECT * FROM tb
/*--结果
BH col
---------------- -----------
BH000001 1
BH000002 2
BH000003 4
BH000004 14
--*/
但是不知道怎么搞的,我的想法都实现不了,我插入数据的时候,系统告诉我我的表无效!
望高手解决!

[此贴子已经被作者于2006-6-1 17:05:40编辑过]

搜索更多相关主题的帖子: 流水号 
2006-06-01 17:03
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
首先谢谢阁下的回复,还有顺便告诉阁下的是,你的图片让我见一次就想笑!
我明天回办公室试一下!

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-01 20:37
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
还是不行哦,说我的对象名'tb'无效哦!

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-02 08:09
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
你的版本是SQL SERVER2000吗?谢谢!

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-02 10:17
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
但是我的是SQL SERVER2000啊,怪不得版本不一样,但是我怎么实现呢?难道SQL SERVER2K不能在自定义函数里用sql语句吗?
阁下SQL2K里用过SQL语句吗?

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-02 11:15
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
我的问题怎么没有人关注啊?

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-06 09:16
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 

首先谢谢您的关注!我的代码如下!
CREATE TABLE tb(col1 varchar(10),col2 int)
INSERT tb SELECT 'a',1
UNION ALL SELECT 'a',2
UNION ALL SELECT 'b',1
UNION ALL SELECT 'b',2
UNION ALL SELECT 'b',3
GO

--合并处理函数
CREATE FUNCTION dbo.f_str(@col1 varchar(10))
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+','+CAST(col2 as varchar)
FROM tb
WHERE col1=@col1
RETURN(STUFF(@re,1,1,''))
END
GO

--调用函数
SELECT col1,col2=dbo.f_str(col1) FROM tb GROUP BY col1
/想显示的结果如下:
col1 col2
---------- -----------
a 1,2
b 1,2,3
--*/
GO
——————————————————————
测试的时候系统反馈信息如下:
——————————————————————
服务器: 消息 208,级别 16,状态 1,过程 f_str,行 10
对象名 'tb' 无效。


白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-06 09:26
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
但是我的不行啊,是不是权限和设置的问题啊?

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-06 09:42
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 
不是的,为什么必须要SA的权限呢?

白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-06 09:48
chenzhao
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-5-31
收藏
得分:0 

请问阁下,难道我在操作自己的数据库难道也要Systemadmin的权限吗?


白天搞VB,SQL SERVER,ASP,晚上搞C……
2006-06-06 09:58
快速回复:我象高手提的第一个的问题!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved