Create Function f_getid()
Returns Varchar(13)
As
Begin
Declare @id varchar(13),@dt varchar(8)
Select @dt=dt From v_getdate
Select @id=max(id) From tb Where id like '%'
IF @id Is null
Set @id='0001'
Else
Set @id=Right('0000'+Cast(Cast(Right(@id,3) As Int)+1 As Varchar),4)
Return(@id)
End
GO
如何将该函数设置为数据库表字段的默认值,类似getdate()这样的
8 个解决方案
#1
--在表中应用函数
CREATE TABLE tb(
BH char(12) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)
#2
create table #tb1(id int ,dt as getdate())
insert #tb1 select 1
select * from #tb1
id dt
----------- -----------------------
1 2010-12-24 11:18:03.530
(1 行受影响)
#3
表已存在,且里面已有数据,不能在可视化操作界面的列属性--默认值或绑定里设置吗??
#4
--添加一列
alter table tb3 add dt1 varchar(10) default dbo.f_getid()
-- 更新此列
update tb3 set dt1=dt
--删除原列
alter table tb3 drop column dt
#5
不牵涉表里的列的话用default 关键字
牵涉到的用计算列 as关键字
牵涉到的用计算列 as关键字
#6
--! 没明白
#7
CREATE FUNCTION dbo.f_1() --创建自定义函数
RETURNS int
AS
BEGIN
DECLARE @t1 INT
SELECT @t1='000'+RTRIM(id) FROM tb
RETURN(@t1)
END
CREATE TABLE tb (id INT,id1 AS dbo.f_1()) --创建表,使用计算列调用自定义函数
INSERT tb SELECT 1 UNION --测试
SELECT 2 UNION
SELECT 3
SELECT * FROM tb
/*
id id1
----------- ---------------
1 0001
2 0002
3 0003
*/
#8
各位1!!!!!
表已存在,且里面已有数据,不能在可视化操作界面的列属性--默认值或绑定里设置吗??
表已存在,且里面已有数据,不能在可视化操作界面的列属性--默认值或绑定里设置吗??
#1
--在表中应用函数
CREATE TABLE tb(
BH char(12) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)
#2
create table #tb1(id int ,dt as getdate())
insert #tb1 select 1
select * from #tb1
id dt
----------- -----------------------
1 2010-12-24 11:18:03.530
(1 行受影响)
#3
表已存在,且里面已有数据,不能在可视化操作界面的列属性--默认值或绑定里设置吗??
#4
--添加一列
alter table tb3 add dt1 varchar(10) default dbo.f_getid()
-- 更新此列
update tb3 set dt1=dt
--删除原列
alter table tb3 drop column dt
#5
不牵涉表里的列的话用default 关键字
牵涉到的用计算列 as关键字
牵涉到的用计算列 as关键字
#6
--! 没明白
#7
CREATE FUNCTION dbo.f_1() --创建自定义函数
RETURNS int
AS
BEGIN
DECLARE @t1 INT
SELECT @t1='000'+RTRIM(id) FROM tb
RETURN(@t1)
END
CREATE TABLE tb (id INT,id1 AS dbo.f_1()) --创建表,使用计算列调用自定义函数
INSERT tb SELECT 1 UNION --测试
SELECT 2 UNION
SELECT 3
SELECT * FROM tb
/*
id id1
----------- ---------------
1 0001
2 0002
3 0003
*/
#8
各位1!!!!!
表已存在,且里面已有数据,不能在可视化操作界面的列属性--默认值或绑定里设置吗??
表已存在,且里面已有数据,不能在可视化操作界面的列属性--默认值或绑定里设置吗??