我自建了一个函数,怎么也加不到数据库字段默认值中。
函数如下:语法正确,已建立。
CREATE function GetOrd(@SortId char(10))
returns char(10)
as
begin
declare @aord char(10)
select @aord=cast(isnull(max(cast(rtrim(maxid) as int)),10000)+1 as char(10)) from sorts where sid=@SortId
return(@aord)
end
问题点数:10、回复次数:13Top
1 楼zjcxc(邹建)回复于 2003-11-01 16:53:09 得分 0
你的表结构?Top
2 楼txlicenhe(马可)回复于 2003-11-01 16:55:32 得分 0
dbo.GetOrd(参数)
Top
3 楼zjcxc(邹建)回复于 2003-11-01 16:56:41 得分 0
--在现有表的基础上增加,用:
ALTER TABLE 表名 ADD CONSTRAINT
DF__表名__字段名__09B45E9A DEFAULT dbo.GetOrd(1) FOR 字段名
--创建表时直接设置
create table 表名(字段名 char(10) default dbo.getord(1))Top
4 楼aybc(aybc)回复于 2003-11-01 16:58:15 得分 0
表结构是:sorts
sid:char(10) ,maxid(char10) //默认设置,函数加到这个字段的默认值中。
Top
5 楼aybc(aybc)回复于 2003-11-01 17:00:45 得分 0
zjcxc(邹建)老兄的可以,我开始用的是dbo.getord(@sortid),
为什么用 dbo.getord(1)可以加上去呢,1是什么意思。Top
6 楼txlicenhe(马可)回复于 2003-11-01 17:01:21 得分 0
ALTER TABLE sorts ADD CONSTRAINT
DF_名 DEFAULT dbo.GetOrd(sid) FOR sidTop
7 楼zjcxc(邹建)回复于 2003-11-01 17:03:49 得分 0
1是函数的参数啊.
用 dbo.getord(@sortid) 当然不行,你的变量 @sortid 没有定义啊.Top
8 楼aybc(aybc)回复于 2003-11-01 17:06:07 得分 0
如果参数值不是1呢。Top
9 楼txlicenhe(马可)回复于 2003-11-01 17:11:11 得分 2
楼主的意思应该是这个: dbo.GetOrd(sid)Top
10 楼zjcxc(邹建)回复于 2003-11-01 17:18:18 得分 0
将你的要求说一说.Top
11 楼zjcxc(邹建)回复于 2003-11-01 17:37:00 得分 3
上面没注意看.
表结构是:sorts
sid:char(10) ,maxid(char10) //默认设置,函数加到这个字段的默认值中。
你这个是不能用默认值来处理的,因为sid是你插入数据的时候才提供的,这时函数不能取得此值,你设置的时候就知道,它会提示出错.
改用触发器吧.Top
12 楼pengdali()回复于 2003-11-01 17:58:22 得分 2
写默认值的时候一定要:
dbo.xxx()
dbo.一定不要忘了。Top
13 楼napoleonlzh(搜索客)回复于 2003-11-01 19:05:40 得分 3
CREATE function dbo.GetOrd(@SortId char(10))
returns char(10)
as
begin
declare @aord char(10)
select @aord=cast(isnull(max(cast(rtrim(maxid) as int)),10000)+1 as char(10)) from sorts where sid=@SortId
return(@aord)
end
Top
相关问题
- sql server数据库中时间类型的字段如何设置默认值
- 急救~~如何修改数据库某个字段的默认值啊
- 如何给数据库(Paradox)增加一个新的字段,并给于默认值?
- 怎样设置sql数据库中datetime型字段的默认值,获得当前时间?
- 请问access数据库中如何设置字段默认值为 空字符串
- access数据库中三个字段名ABC,我想A的默认值为B+C可以嘛?
- Access数据库里面,字段类型为文本的,默认值是什么啊?
- 谁知道用SQL语句为access数据库增加字段时怎样设置它的默认值?
- 如何取得数据库中某个字段的属性(类型,长度,默认值...)
- access数据库问题:如何在程序中设置和修改某一字段的默认值呢?




