Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
Delphi 8 Architect
|
Re: MS SQL2000 - Kollation ändern?
20. Dez 2003, 12:29
na wer so lieb bittet, bekommt von mir sogar 'ne Stored Procedure
SQL-Code:
CREATE PROCEDURE dbo.SP_AlterAllCollations
(
@OLDCOLLATE varchar(255)
,@NEWCOLLATE varchar(255)
)
AS
BEGIN
declare @Befehl nvarchar(4000)
,@err int
declare BefehlsCursor CURSOR FOR select 'alter table '+so.name+' alter column '+sc.name+' '+st.name+' ('+convert(varchar,sc.length)+') COLLATE '+@NEWCOLLATE AS Befehl
from Sysobjects so
inner join syscolumns sc
on sc.id = so.id
inner join systypes st
on st.xtype = sc.xtype
where so.type = 'U'
and sc.collation = @OLDCOLLATE
FETCH NEXT FROM BefehlsCursor INTO @Befehl
set @err = 0
BEGIN TRANSACTION
WHILE @@FETCH_STATUS = 0 BEGIN
exec(@Befehl)
set @err = @err+@@Error
FETCH NEXT FROM BefehlsCursor INTO @Befehl
set @err = @err+@@Error
END
if @err <> 0 BEGIN
ROLLBACK TRANSACTION
RAISERROR('Irgendwas ist schief gegangen',16,-1)
RETURN 50000
END
COMMIT TRANSACTION
RETURN 0
END
Tim Leuschner Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
|