2013-04-03 50 views
3

我有一個數據庫B的視圖,我在數據庫A中使用。如何在mysql中創建同義詞

我想爲此視圖創建一個同義詞。因爲現在每一次我都要寫這樣

Select * from DBNAME.VIEWNAME 

而查詢我只是希望能夠寫

SELECT * FROM MYSYNONYMNAME 

這有可能在mysql中呢?我沒有看到太多的說明書中..

+0

你是什麼意思的同義詞?它有很多定義。 –

+0

對不起,我的意思是在某個名字的同義詞指向的東西。我用我試圖實現的一個例子更新了這個問題。 – Anthony

+0

它在MySQL中不受支持。 –

回答

3

這是不可能在MySQL中創建同義詞像it's possible in Oracle

+0

我確信它背後有一個很好的理由,但那只是不幸的。謝謝 – Anthony

+2

@Sharma:如果你看到一些奇怪的東西 - 那麼你可以簡單地解釋它:「在mysql中,它通常不像其他DMBS中那樣」 – zerkms

2

顯然一個VIEW可以作爲SYNONYM工作:

DROP VIEW IF EXISTS `MYSYNONYMNAME` $$ 
CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` 
SQL SECURITY DEFINER VIEW `MYSYNONYMNAME` AS 
SELECT * FROM DBNAME.VIEWNAME $$ 

不知道的性能或您可以在視圖內離開堆疊視圖的距離等。還可能需要在基表列更改時重新創建。

參見:http://blog.mclaughlinsoftware.com/2013/11/24/mysql-synonym/