我在 SQL Server 2005(Management Studio IDE)中使用以下 T-SQL 查询:
DECLARE @id int;
DECLARE @countVal int;
DECLARE @sql nvarchar(max);
SET @id = 1000;
SET @sql = 'SELECT COUNT(*) FROM owner.myTable WHERE id = @id';
EXEC (@sql) AT oracleServer -- oracleServer is a lined server to Oracle
我不确定如何将输入参数@id 传递给EXEC 查询,并将计数结果传递给@countVal。我看到了一些 Microsoft SQL Server 的示例,例如:
EXEC (@sql, @id = @id)
我为 Oracle 尝试了这个,但我得到了一个语句错误:
OLE DB provider "OraOLEDB.Oracle" for linked server "oracleServer"
returned message "ORA-00936: missing expression"