Итак, я создал процедуру, которая создает динамическое представление с использованием динамического SQL, но я использовал два выполнения sql: одно для предложения if и одно для else, должно быть возможно поместить все это в одну строку SQL, или я ошибаюсь? Потому что я пробовал и снова и снова получал ошибку. Я не лучший в написании динамического sql, так что, вероятно, это моя ошибка, или это невозможно сделать, и я теряю время, пытаясь это сделать?
create procedure test_view
(@table_name varchar(30))
as
BEGIN
declare@ sqlQuery varchar(100)
if exists(select 1 from sp_iqview('v_anon_' + @table_name) where view_name = 'v_anon_' + @table_name)
begin
set@ sqlQuery = ('drop view ' + 'v_anon_' + @table_name)
EXECUTE(@sqlQuery)
end
else
begin
set@ sqlQuery = ('CREATE VIEW ' + 'v_anon_' + @table_name + ' AS SeLECT * FROM ' + @table_name)
EXECUTE(@sqlQuery)
select@ sqlQuery
end
END