我对SQL非常陌生,我希望将SQL集成到我的c++代码中,或者使用c++输出文件作为SQL的输入变量。
例如,我有一个查询:
use data_set1;
select a.cluster, b.pig, b.PDBgi, b.PDBaccession, a.Seqstar, a.Seqstp
from data_set1..clusterPDBpig a
join pig2PDBgi_acc b
ON a.pig = b.pig where b.PDBaccession = '& 2Y69S'其中的b.PDBaccession是一个500-1000的数据列表,我可以把它们放在c++代码中的一个向量中,或者放在一个输出file...How中。谢谢!
发布于 2013-01-08 06:15:04
查查SQL Table Value Parameters吧。
您可以创建用户定义的表类型参数,如下所示:
CREATE TYPE [dbo].[AccessionData] AS TABLE(
[ValueToUse] [varchar](100) NOT NULL
PRIMARY KEY CLUSTERED
(
[ValueToUse] ASC
)WITH (IGNORE_DUP_KEY = OFF)
)
GO然后在您的SQL代码中执行如下操作:
SELECT a.cluster, b.pig, b.PDBgi, b.PDBaccession, a.Seqstar, a.Seqstp
from clusterPDBpig a
INNER JOIN pig2PDBgi_acc b on (a.pig = b.pig)
INNER JOIN @InputData I on (I.PDBaccession = b.PDBaccession)其中@InputData的类型为AccessionData
以下链接提供了一些信息:
http://www.christian-etter.de/?tag=table-valued-parameter
http://www.c-sharpcorner.com/uploadfile/pchandraker/passing-table-valued-parameter-to-stored-procedu-part-1/
https://stackoverflow.com/questions/14204856
复制相似问题