34,837
社区成员




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
*/
--添加一列
alter table tb3 add dt1 varchar(10) default dbo.f_getid()
-- 更新此列
update tb3 set dt1=dt
--删除原列
alter table tb3 drop column dt
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 行受影响)
--在表中应用函数
CREATE TABLE tb(
BH char(12) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)