SQL Anywhere将行作为参数传递给存储过程

时间:2017-01-03 18:41:23

标签: sql sqlanywhere

我们正在使用基于SQL Anywhere 16的ERP系统。我的新任务是将某些更改记录到特定表的特定行。我计划创建一个触发器,将旧行的值与新行的值进行比较。如果旧值和新值不匹配,则应将条目写入另一个表。 要添加或编辑Trigger,我必须注销所有用户...不幸的是...... 所以我的问题是: 我可以将这两行传递给存储过程来完成我的工作,因为我可以在用户工作时编辑它吗? 有任何想法吗? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

以下是有关如何制作xml

的vb.net代码
Dim dt As DataTable
--Fill dt data
Dim result As String
    Using sw As StringWriter = New StringWriter
        dt.WriteXml(sw)
        result = sw.ToString().Replace("�", "") 'Replace Char(0) with empty string
    End Using

以下是解析@xml

的存储过程
DECLARE @doc int
EXEC sp_xml_preparedocument @doc OUTPUT, @xml

SELECT column1, column2, DateAdd(hour, yourtimezone,date) AS column3 --UCT to local
FROM OPENXML(@doc,'/NewDataSet/TableName',2)
WITH (column1 int, column2 varchar(50),column3 smalldatetime)