我有一個來自SQL服務器的SQL select語句,它將動態表中的文本放在一起並創建一個union語句。然後,我將此語句複製到Oracle SQL Developer中,以打擊Oracle數據庫以獲取計數或最小/最大列,或其他任何內容。我的查詢與此類似:最後一條記錄,然後從SQL語句中刪除文本並替換爲空白或其他字符
'Select ' + a.column1 + 'from' + a.tablename + 'where ' + a.column1 + '= 123' + 'UNION ALL'
from Mytable a where a.tablename = 'MYTABLENAMEHERE'
因此,我然後獲得20個表的列表,然後將其剪切/粘貼到Oracle中以獲得結果。
我的問題是(並且這可能是一個愚蠢的問題,我只是想知道如何在SQL中做到這一點)是最後一個記錄的輸出有'UNION ALL'在它的末尾沒有「; 「 Oracle需要這麼做,所以我總是必須在最後一個記錄中刪除它。
如何告訴SQL什麼時候它是最後一條記錄來替換'UNION ALL'並替換爲「;」終止者聲明,以便在我剪切並粘貼它時,我不必每次都刪除它?
只是從專家好奇!
看看STUFF函數。 –
爲什麼這個問題標籤sql-server,如果你使用的是oracle? – Hogan