在函数里居然不能使用,GetDate()
如:

SQL Server 2000一个郁闷的地方create function GetToday
SQL Server 2000一个郁闷的地方(
SQL Server 2000一个郁闷的地方)
SQL Server 2000一个郁闷的地方
returns datetime
SQL Server 2000一个郁闷的地方
as
SQL Server 2000一个郁闷的地方
begin
SQL Server 2000一个郁闷的地方    
return convert(char(10),getdate(),120)
SQL Server 2000一个郁闷的地方
end
报以下错:
服务器: 消息 443,级别 16,状态 1,过程 GetToday,行 7
在函数内不正确地使用了 'getdate'。
没有办法,只能使用参数带入GetDate()
SQL Server 2000一个郁闷的地方create function GetToday
SQL Server 2000一个郁闷的地方(
SQL Server 2000一个郁闷的地方    
@Now datetime
SQL Server 2000一个郁闷的地方)
SQL Server 2000一个郁闷的地方
returns datetime
SQL Server 2000一个郁闷的地方
as
SQL Server 2000一个郁闷的地方
begin
SQL Server 2000一个郁闷的地方    
return convert(char(10),@Now,120)
SQL Server 2000一个郁闷的地方
end

另推荐一个,获得所有表的表记录,和使用空间的SQL

SQL Server 2000一个郁闷的地方exec sp_MSForEachTable 
SQL Server 2000一个郁闷的地方
@precommand=N'
SQL Server 2000一个郁闷的地方create table ##(
SQL Server 2000一个郁闷的地方id int identity,
SQL Server 2000一个郁闷的地方表名 sysname,
SQL Server 2000一个郁闷的地方字段数 int,
SQL Server 2000一个郁闷的地方记录数 int,
SQL Server 2000一个郁闷的地方保留空间 Nvarchar(10),
SQL Server 2000一个郁闷的地方使用空间 varchar(10),
SQL Server 2000一个郁闷的地方索引使用空间 varchar(10),
SQL Server 2000一个郁闷的地方未用空间 varchar(10))
',
SQL Server 2000一个郁闷的地方
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''
SQL Server 2000一个郁闷的地方    update ## set 字段数=(select count(*) from syscolumns where id=object_id(
''?'')) where id=scope_identity()',
SQL Server 2000一个郁闷的地方
@postcommand=N'select * from ## order by id drop table ##'

相关文章: