2017-11-14 29 views
-3

メタデータを保持しているsqlcodeという名前のテーブルの列にクエリを保存しました。たとえば、次のクエリです:SQL UPDATE文を使用してテキストの一部を更新する方法

select 
    id, name, address, phone, 
    ....... 
    ...... 
    , upddate 
from 
    bank a 
join 
    bankreg b on a.id = b.id 
where 
    (condition) 

私はメタデータに保存されたクエリのテキストを更新しようとしているが、私は唯一の変更は、選択することなしに、列名にクエリの一部を更新したいから、参加しますかその他の条件。列名を更新するだけの方法は役に立ちます。私はreplace機能を使用しようとしましたが、目的の出力が得られませんでした。

このテキストクエリの列をマスターテーブルにある列で更新したいとします。新しい列がマスターに追加された場合は、メタデータクエリにも追加してテキスト形式で保存したいと考えています。 INFORMATION_SCHEMA.COLUMNSは私に列名を与えました。これらの列名を上記のクエリに更新するだけです

+0

最後まで1つを使用した作品かを確認します。私たちが助けることができるようにいくつかの詳細を提供することは可能でしょうか?あなたは何をしようとしているのですか?何を試しましたか?何がうまくいかなかったのですか? –

+0

INFORMATION_SCHEMA.COLUMNS内のデータを使用するたびに、文全体を再構築できませんか?これはreplaceを使用するより簡単です。 – DanielG

+0

あなたが持っているものがあれば、どうやってお手伝いしますか?質問する方法を学びます。 https://stackoverflow.com/help/how-to-ask – Eric

答えて

0

括弧で囲む必要がある列をラップすると、SELECT部分​​の項目を更新せずにREPLACEで更新することができます。

select 
id,name,address,phone, 
....... 
...... 
,upddate 
from bank a 
join bankreg b 
on 
a.id = b.id 
where ([address] = 'My Street') 

あなたのアップデートは、次のようになります。

UPDATE MyTable SET MyCol = REPLACE(MyCol , '[address]', '[some_other_field]') 
0

選択した一部の列の名前の名前を変更したいですか?

名前を変更する名前ごとにcurrentNAme AS NewName,またはcurrentName NewName,を使用してください。

天気予報に依存して、1つまたは2つの構文がサポートされています(sql-server - > go with AS)。 1列名を使用したテストは1つが、私は今日は家で私の水晶玉を左

select 
id AS myNameForId, 
name AS myNmeForName, 
....... 
...... 
,upddate 
from bank AS a 
join bankreg AS b 
on 
a.id = b.id 
where (condition) 

OR

select 
id myNameForId, 
name myNmeForName, 
....... 
...... 
,upddate 
from bank a 
join bankreg b 
on 
a.id = b.id 
where (condition) 
+0

すべての列を、変数に 'nvarchar'として保存されている新しい列のセットで完全に置き換えたい –

+0

列を列に置き換えることはできません。あなたの質問の結果には存在しません。フィルタのような部分を考えてください。利用可能なリスト(下のすべての結合を行う場合)から選択したい列を選択してください。それらの名前を変更したり、元の名前をそのまま残したりすることができます。 – DanteTheSmith

関連する問題