使用多行

时间:2018-04-26 14:50:43

标签: sql-server vb.net stored-procedures

我正在开发一个存储过程,它使用整数作为键以及其他几个变量来执行自定义sql逻辑。我希望能够动态创建此过程的新部分,以便具有sql知识的人可以添加新的自定义逻辑,而无需使用sql management studio来创建它。

以下是我的方法。不幸的是,在执行sql语句时,我无法将多行应用为多行。由于程序中有注释,这不起作用。我尝试过使用SqlCommand对象,但这也无效。我也尝试过Chr(6)+ Chr(10)(我认为那些是正确的Chrs),但这只是作为文本发送到sql。

Public Sub UpdateLogicQueryDefinition(CampaignID As Integer, CalcID As Integer, CalcObjectName As String, AppendedText() As String)
    Dim dr As DataRow, FinalQuery As String = "", SingleLine As String = ""
    Dim NextLine As String = Environment.NewLine
    For Each dr In ds_ExistingLogic.Tables(0).Rows
        FinalQuery = FinalQuery & dr("Text") & NextLine
        If dr("Text").Trim() = "--Insertion point 1" Then
            FinalQuery = FinalQuery & " IF @CustomLogicNumber = " & CalcID & NextLine
            FinalQuery = FinalQuery & " BEGIN " & NextLine
            FinalQuery = FinalQuery & " Goto " & CampaignID & "_" & CalcObjectName & NextLine
            FinalQuery = FinalQuery & " END " & NextLine
            FinalQuery = FinalQuery & NextLine
        End If
        If dr("Text").Trim() = "--Insertion point 2" Then
            FinalQuery = " " & FinalQuery & CampaignID & "_" & CalcObjectName & ":" & NextLine
            For Each SingleLine In AppendedText
                FinalQuery = FinalQuery & SingleLine & NextLine
            Next
            FinalQuery = FinalQuery & " Return " & NextLine
            FinalQuery = FinalQuery & NextLine
        End If
    Next



    FinalQuery.Replace("CREATE PROCEDURE [dbo].[spCustomLogic]", "ALTER PROCEDURE [dbo].[spCustomLogic]")


    db.ExecuteNonQuery(FinalQuery)

有谁知道如何让这个查询识别多行​​,以便我可以动态更新此过程?感谢

编辑:评论让我放弃了这种方法。我将使用两个过程,因此我可以使用sql而不是代码编辑我的过程。感谢

0 个答案:

没有答案