SQL Server 2000一个郁闷的地方
在函数里居然不能使用,GetDate()
如:
create function GetToday
(
)
returns datetime
as
begin
return convert(char(10),getdate(),120)
end
报以下错:(
)
returns datetime
as
begin
return convert(char(10),getdate(),120)
end
服务器: 消息 443,级别 16,状态 1,过程 GetToday,行 7
在函数内不正确地使用了 'getdate'。
没有办法,只能使用参数带入GetDate()
create function GetToday
(
@Now datetime
)
returns datetime
as
begin
return convert(char(10),@Now,120)
end
(
@Now datetime
)
returns datetime
as
begin
return convert(char(10),@Now,120)
end
另推荐一个,获得所有表的表记录,和使用空间的SQL
exec sp_MSForEachTable
@precommand=N'
create table ##(
id int identity,
表名 sysname,
字段数 int,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''
update ## set 字段数=(select count(*) from syscolumns where id=object_id(''?'')) where id=scope_identity()',
@postcommand=N'select * from ## order by id drop table ##'
@precommand=N'
create table ##(
id int identity,
表名 sysname,
字段数 int,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''
update ## set 字段数=(select count(*) from syscolumns where id=object_id(''?'')) where id=scope_identity()',
@postcommand=N'select * from ## order by id drop table ##'