ASP.NET 環境で C# でコーディングしています。SQL Server データベース テーブルを取得して別の名前を付ける関数を作成する必要があります。
したがって、SQLの観点から、これを行う必要があります。
EXEC sp_rename 'OldTableName', 'NewTableName';
しかし、問題は、関数に提供される (古い) テーブル名が [dbo].[OldTableName] のようなものになる場合があることです。名前自体の部分と「dbo」の部分。
では、そのような状況をどのように処理しますか?
編集:括弧を削除するC#コードを思いつくことができました(ただし、確認する必要があります):
for (int i = 0; i < strTableName.Length; i++)
{
if (strTableName[i] == '[' ||
strTableName[i] == ']')
{
int j = i;
for (; j < strTableName.Length && strTableName[j] == strTableName[i]; j++) ;
int nRepeatCnt = j - i;
int nNumKeep = nRepeatCnt / 2;
int nNumRemove = nRepeatCnt - nNumKeep;
strTableName = strTableName.Remove(i, nNumRemove);
i += nNumKeep - 1;
}
}