用xml传递呢?DECLARE @idoc int,@doc varchar(8000)SET @doc ='
<?xml version="1.0" encoding="GB2312"?>
<电子病历>
<病案 num="1">
<姓名>梁景</姓名>
<性别>女</性别>
<出生日期>1985-7-12</出生日期>
<婚姻>已婚</婚姻>
<职业>工人</职业>
</病案>
<病案 num="2">
<姓名>张路</姓名>
<性别>女</性别>
<出生日期>1985-7-12</出生日期>
<婚姻>已婚</婚姻>
<职业>工人</职业>
</病案>
<病案 num="3">
<姓名>何江</姓名>
<性别>男</性别>
<出生日期>1985-7-12</出生日期>
<婚姻>已婚</婚姻>
<职业>工人</职业>
</病案>
</电子病历>
'EXEC sp_xml_preparedocument @idoc OUTPUT, @docSELECT * FROM OPENXML (@idoc, '/电子病历/病案',2)
WITH (姓名 varchar(20)
,性别 varchar(2)
,出生日期 datetime
,婚姻 varchar(10)
,职业 varchar(50)
)
<?xml version="1.0" encoding="GB2312"?>
<电子病历>
<病案 num="1">
<姓名>梁景</姓名>
<性别>女</性别>
<出生日期>1985-7-12</出生日期>
<婚姻>已婚</婚姻>
<职业>工人</职业>
</病案>
<病案 num="2">
<姓名>张路</姓名>
<性别>女</性别>
<出生日期>1985-7-12</出生日期>
<婚姻>已婚</婚姻>
<职业>工人</职业>
</病案>
<病案 num="3">
<姓名>何江</姓名>
<性别>男</性别>
<出生日期>1985-7-12</出生日期>
<婚姻>已婚</婚姻>
<职业>工人</职业>
</病案>
</电子病历>
'EXEC sp_xml_preparedocument @idoc OUTPUT, @docSELECT * FROM OPENXML (@idoc, '/电子病历/病案',2)
WITH (姓名 varchar(20)
,性别 varchar(2)
,出生日期 datetime
,婚姻 varchar(10)
,职业 varchar(50)
)
tablename varchar(50) ,
colname varchar(50),
primarykey char(2),
type varchar(10),
length int,
[isnull] char(1),
[default] varchar(100),
descript varchar(500)
)
GO
create proc usp_getXmltable
@xmldoc text
as
set nocount on
Declare @hdoc int
begin
exec sp_xml_preparedocument @hdoc output,@xmldoc
insert into InsetXMLtable
SELECT * FROM OPENXML(@hDoc, '/xmltable/row', 1)
WITH ( tablename varchar(50) '../tablename',
colname varchar(50),
primarykey char(2),
type varchar(10),
length int,
[isnull] char(1),
[default] varchar(100),
descript varchar(500)
) exec sp_xml_removedocument @hdoc
end
go
declare @xmldoc varchar(2000)
set @xmldoc='
<xmltable>
<tablename>store</tablename>
<row colname="stor_id" primarykey="PK" type="char" length="4" isnull="N" default="" descript=""/>
<row colname="ord_num" primarykey="PK" type="varchar" length="20" isnull="N" default="" descript=""/>
<row colname="ord_date" primarykey="" type="datetime" length="8" isnull="N" default="" descript=""/>
<row colname="qty" primarykey="" type="smallint" length="2" isnull="N" default="" descript=""/>
<row colname="payterms" primarykey="" type="varchar" length="12" isnull="N" default="" descript=""/>
<row colname="title_id" primarykey="PK" type="int" length="6" isnull="N" default="" descript=""/>
</xmltable>'exec usp_getXmltable @xmldoc
go