你那样的做法应该是可以的,只是要注意字段的数据类型。
如果你的tt中的t字段是字符型就要这样写:
declare @v varchar(100)
set @v=33
delete from openquery(oracle_link,'select *  from tt where t='''+@v+'''')

解决方案 »

  1.   

    exec('delete from openquery(oracle_link,''select *  from tt where t=''+@v+')')
      

  2.   

    谢谢
    但如果我后面那个sql语句中,表名和字段都是动态生成的,该怎么解决呢
    还有
    SQL SERVER操作oracle能不能像sql server操作sql server那样用oracle_link.数据库名.表名之种方式定位到一张表呢
      

  3.   

    exec('delete from openquery(oracle_link,''select *  from tt where t='+@v+''')')
      

  4.   

    exec('delete from openquery(oracle_link,''select *  from '+@table_name + ' where ' + @column_name + '='+@v+''')')