SQL Server 2008 r2 を学習中で、DB を作成しましたが、命名規則に欠陥があります。
- データを失うことなく、すべてのテーブルとフィールドのすべてのスペースをアンダースコアに変更するにはどうすればよいですか?
- それはストアドプロシージャでなければなりませんか、それともより良い代替手段がありますか?
「コード」を作成する際の助けをいただければ幸いです。
SQL Server 2008 r2 を学習中で、DB を作成しましたが、命名規則に欠陥があります。
「コード」を作成する際の助けをいただければ幸いです。
while ループで、次のコードを実行します。
declare @oldtblname varchar(10)
declare @newtblname varchar(10)
select @oldtblname=name from sys.tables where name like '% %'
set @newtblname=replace(@oldtblname,' ','_')
exec sp_rename @oldtblname,@newtblname
while ループの回数は、名前にスペースが含まれるテーブルの数と同じになります。