-1

SQL Server 2008 r2 を学習中で、DB を作成しましたが、命名規則に欠陥があります。

  1. データを失うことなく、すべてのテーブルとフィールドのすべてのスペースをアンダースコアに変更するにはどうすればよいですか?
  2. それはストアドプロシージャでなければなりませんか、それともより良い代替手段がありますか?

「コード」を作成する際の助けをいただければ幸いです。

4

2 に答える 2

0

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 ループの回数は、名前にスペースが含まれるテーブルの数と同じになります。

于 2013-07-19T18:50:09.067 に答える