我正在使用MS SQL Server,我想通过执行"alter view VIEWNAME as([some sql])"之类的操作来改变存储过程中的视图.
谷歌提出的一些页面声称这不是直接支持的(并且都不是相关的alter-table语句),但也有一些例子说明如何使用这样的结构来解决它:
declare @sql varchar(max)
select @sql = 'alter view VIEWNAME as ([some sql])'
exec(@sql)
Run Code Online (Sandbox Code Playgroud)
将代码编写为文字字符串有点味道,即使对于SQL也是如此.
我的问题:
exec文字SQL字符串的解决方法有效?我的理解exec语句的是它只是在线执行SQL,这是不正确的?