sql中的动态执行结构,

Set @Params = N'@DataTmp NVarChar(Max) OutPut'

    Set @StrSqlTmp = 'Set @DataTmp =
                Convert(VarChar(Max), (' + @BaseQuery + ' For Xml Path(''item'')))'

    Exec Sp_ExecuteSql @StrSqlTmp, @Params, @DataTmp = @DataTmp OutPut

In want postgresql中此进程的替代方法。
有人知道解决办法吗?请回复

最佳答案

PostgreSQL不是Microsoft SQL Server,对于SQL标准之外的功能,它通常不同于Microsoft的t-SQL。
要执行动态SQL,请使用PL/PgSQL的EXECUTE语句。最好具有format功能。您可以在PL/PgSQL函数中使用它,如果不需要传递参数,也可以在DO块中使用它。
我不知道上面的代码到底是做什么的,因为我对MS SQL一点也不了解。plpgsql manual有一些简单的动态SQL示例,您可以使用它们开始,还可以查看堆栈溢出时的dynamic-sql标记;搜索postgresqldynamic-sql

10-08 12:34