sql >> Databáze >  >> RDS >> Sqlserver

Jak vložit data xml do tabulky na serveru SQL Server 2005

Za předpokladu ukázky XML jako výše:

<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Emp>
        <ID>3</ID>
        <EmpName>Dibyendu</EmpName>
        <Sal>3500</Sal>
    </Emp>
</Record>

Za předpokladu následující tabulky:

CREATE TABLE Employee
(
    [ID] [int] NOT NULL,  
    [EmpName] varchar(max) NOT NULL,   
    [Sal] [int] NULL
)

Následující uložená procedura, která používá xpaths, by měla stačit

CREATE PROCEDURE AddEmployee
    @empXml xml
AS

INSERT INTO Employee
(
    ID,
    EmpName,
    Sal
)
VALUES
(
    @empXml.value('(/Record/Emp/ID)[1]', 'int'),
    @empXml.value('(/Record/Emp/EmpName)[1]', 'varchar(max)'),
    @empXml.value('(/Record/Emp/Sal)[1]', 'int')
)

Což pak můžete spustit pomocí:

exec AddEmployee '<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Emp><ID>3</ID><EmpName>Dibyendu</EmpName><Sal>3500</Sal></Emp></Record>' 

Pokud by záznam XML mohl potenciálně obsahovat více prvků 'Emp', budete muset provést malou refaktorizaci.



  1. Jaký je smysl ORM Pokud musím definovat každé pole v app.config pro Oracle .net Entity Framework

  2. Sledování odchozích připojení

  3. Dotaz Mysql Datediff

  4. VYTVOŘTE UNIKÁTNÍ INDEX, POKUD NEEXISTUJE v postgreSQL