2011-08-04 13 views
5

OPENROWSET yöntemiyle kullanılan sorguyu oluşturmak istiyorum.SQL: OPENROWSET, istek dizesi için oluşturamaz mı?

SELECT * 
FROM 
OPENROWSET 
('SQLOLEDB', 'srv'; 'login'; 'mdp'; 
'SELECT * 
FROM Case 
WHERE ID = ' + @caseID) 

Ama hatayı alıyorum bunu yaparken: Örnek

yanlış sözdizimi yakın '+'

Sorguyu nasıl inşa edebilirsiniz? Teşekkür

cevap

6

OPENROWSET sorgusu bir dize olarak belirtilmiş olsa da, bu, dinamik bir sorgu gibi çok fazla göründüğü halde, sözdizimi, aynı şekilde parçalardan oluşturulmasına izin vermez. Ben, sen OPENROWSET arayacak dinamik bir sorgu oluşturmak için korkuyor gerekecek ediyorum

, böyle bir şey:

SET @sql = ' 
    SELECT * 
    FROM 
    OPENROWSET 
    (''SQLOLEDB'', ''srv''; ''login''; ''mdp''; 
    ''SELECT * 
    FROM Case 
    WHERE ID = ' + @caseID + ''')'; 
EXEC(@sql); 
İlgili konular