1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
USE SandBox
GO
drop table FAIT;
go
CREATE TABLE FAIT
(
C1 INT,
C2 float,
C3 DECIMAL(23,6),
C4 INT,
C5 float,
C6 DECIMAL(23,6),
C7 INT,
C8 float,
C9 DECIMAL(23,6),
C10 INT,
C11 float,
C12 DECIMAL(23,6),
CALC AS C1 / LOG(ABS(C2)) / LOG10(ABS(C3)) - C4 / LOG(ABS(C5)) / LOG10(ABS(C6)) + C7 / LOG(ABS(C8)) / LOG10(ABS(C9)) - C10 / LOG(ABS(C11)) / LOG10(ABS(C12)) PERSISTED
)
GO
SET NOCOUNT ON;
select getdate();
go
declare @i int;
set @i = 0
while @i < 50000
begin
INSERT INTO FAIT
SELECT CHECKSUM(NEWID()), CHECKSUM(NEWID()) / 12345.6789, CHECKSUM(NEWID())*0.0123456789,
CHECKSUM(NEWID()), CHECKSUM(NEWID()) / 12345.6789, CHECKSUM(NEWID())*0.0123456789,
CHECKSUM(NEWID()), CHECKSUM(NEWID()) / 12345.6789, CHECKSUM(NEWID())*0.0123456789,
CHECKSUM(NEWID()), CHECKSUM(NEWID()) / 12345.6789, CHECKSUM(NEWID())*0.0123456789
set @i = @i + 1;
end;
GO
SELECT *, CALC
FROM FAIT;
go
select getdate();
go |
Partager