带有同义词的SQL动态查询

时间:2016-11-18 18:19:02

标签: sql-server sql-server-2008

这可能, 它不工作!! 试图实现执行

public ActionResult GetSelected(int[] ids)
{
   //do something
   return Json (ids, JsonRequestBehavior.AllowGet)
}

1 个答案:

答案 0 :(得分:2)

你完全弄错了。您查询将只执行select查询,它不会创建synonym

以下是您要找的内容

DECLARE @SQL AS VARCHAR(1000) 

SET @sql = (SELECT ' create synonym syn_' + t.NAME + ' for ' 
                   + Quotename(Db_name()) + '.' + Quotename(s.NAME) 
                   + '.' + Quotename(t.NAME) + ' ; ' 
            FROM   sys.tables t 
                   INNER JOIN sys.schemas s 
                           ON t.schema_id = s.schema_id 
            WHERE  t.type = 'U' 
                   AND t.NAME IN ( 'Episode', 'MasterNPI', 'Patient', 
                                   'Enterprises' ) 
            FOR xml path('')) 

EXEC(@SQL)