是否可以转换以下形式的句子
IF OBJECT_ID('TEMPDB..#tmpX') IS NOT NULL DROP TABLE #tmpX; (1)
以下
DROP TABLE IF EXISTS #tmpX; (2)
我需要有效的是以下伪代码:
DROP TABLE IF EXISTS
我使用sql-server但对它的leftfield正则表达式功能不感兴趣 - 因此将在notepad ++或komodo编辑中打开sql文件 - 所以我将使用标准正则表达式。
(道歉,我没有明确的尝试,但我的正则表达非常有限)
答案 0 :(得分:1)
查找
IF \w+\(['"][^#]*(#\w+)['"]\) IS NOT NULL DROP TABLE \1;
[^#]*(#\w+)
匹配除#
之外的任何内容,或者比表名更多或零次。替换为:
DROP TABLE IF EXISTS $1;