SQL替代函数和存储过程动态SQL [英] SQL Alternative to Function and Stored Proc for Dynamic SQL

查看:106
本文介绍了SQL替代函数和存储过程动态SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码,我想找到一种方法来执行[Code]字段中的代码。我希望我可以使用一个函数,但它需要动态SQL,我希望我可以在Select语句中调用存储过程,但我也不能这样做。我需要避免做一个循环,因为会有数百个这样的记录。



I have the following code, I want to find a way to execute the code in the [Code] field. I wish I could use a Function but it would require Dynamic SQL and I wish I could call a stored proc in the Select statement but I can't do that either. I need to avoid doing a Loop since there will be hundreds of these records.

SELECT Coverage, N'SELECT ' + ISNULL(Limit COLLATE SQL_Latin1_General_CP1_CI_AS, '''''')     + N',' + 
    ISNULL(Deductible COLLATE SQL_Latin1_General_CP1_CI_AS, '''''') + N',' + 
    ISNULL(Premium COLLATE SQL_Latin1_General_CP1_CI_AS, '''''') + 
    N' FROM PHI_PIJ.dbo.ASBYCPP' + N' WHERE ' + PolicyNum COLLATE SQL_Latin1_General_CP1_CI_AS +
    N' = ' + QUOTENAME('BOP000249316', '''')  + N' AND BYAOTX' + N'=' + QUOTENAME(Coverage COLLATE SQL_Latin1_General_CP1_CI_AS, '''')
FROM PHI_PIJ.dbo.ASBYCPP
INNER JOIN PolicySummary.dbo.Coverage
    ON Coverage = BYAOTX
    AND LOB = 'BOP'
WHERE  BYARTX + BYASTX + BYADNB = 'BOP000059311'





一个例子在[代码]字段中的内容是:



An example of what is in [Code] field is:

SELECT '','',BYA3VA FROM PHI_PIJ.dbo.ASBYCPP WHERE BYARTX+BYASTX+BYADNB = 'BOP000249316' AND BYAOTX='BASIC'

推荐答案

这篇关于SQL替代函数和存储过程动态SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆