English 中文(简体)
表格中使用Xml产出的储存代谢
原标题:Call stored proc using xml output from a table

在紧凑的限期下,我知道我最终能够看到这一点,但我没有多少时间独自这样做。

我有一个表格,除许多其他栏目外,还有客户栏和账户编号栏。 单一客户有许多账户(拥有相同客户但不同的账户号码的经理)。

对于表一的每个客户,需要采用一种储存程序,并以以下格式将数据从表上作为xml。 通知所有客户账户的xml。

<Accounts>
 <Account>
  <AccountNumber>12345</AccountNumber>
  <AccountStatus>Open</AccountStatus>
 </Account>
 <Account>
  <AccountNumber>54321</AccountNumber>
  <AccountStatus>Closed</AccountStatus>
 </Account>
</Accounts>  

因此,我想我需要两点帮助。 首先,如何以这种xml格式获取数据。 我假定“我”使用的是“XML”的某些改动。 另一件事是,我是如何由客户进行分类的,然后向每个客户提出质询?

最佳回答

这样做会奏效。 这是治疗者为数不多的案例之一。

create table #a (CustomerID int, AccountNumber int, AccountStatus varchar(max))

insert into #a values (1,12345, Open )
insert into #a values (1,54321, Closed )
insert into #a values (2,77777, Open )
insert into #a values (2,88888, Closed )

DECLARE @CustomerID int
DECLARE @accounts xml

DECLARE CurInvoice CURSOR READ_ONLY FAST_FORWARD FOR
    SELECT DISTINCT CustomerID 
    FROM #a  

OPEN CurInvoice

FETCH NEXT FROM CurInvoice INTO @CustomerID
WHILE @@FETCH_STATUS = 0
    BEGIN

    set @accounts = (
    select AccountNumber,AccountStatus
    from #a
    where CustomerID = @CustomerID
    for xml path( Account ), root( Accounts ))

    exec MyProc @XmlInput = @accounts


FETCH NEXT FROM CurInvoice INTO @CustomerID
END
CLOSE CurInvoice
DEALLOCATE CurInvoice
问题回答

暂无回答




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签