2013-02-26 35 views
0

我嘗試轉換下面的SQL Server代碼到MySQL ...SQL服務器MySQL的轉換 - 系統對象

SELECT 
     columns = COALESCE(columns + ',', '') + Cast(sc.name AS char(64)) 
    FROM 
     sysColumns sc 
    INNER JOIN 
     sysObjects so ON sc.ID = so.ID 
    WHERE 
     so.type = 'u'; AND 
     so.name = tableName; 

是否有任何工具或引用鏈接,這種轉換?

我發現我可以使用all_source代替sysObjects,但不知道sysColumnstableName使用什麼。

有什麼建議嗎?

回答

0

SQL Fiddle

MySQL的30年5月5日架構設置

CREATE TABLE IF NOT EXISTS `category` (
    `id` int(11) NOT NULL, 
    `parent_id` int(11) NOT NULL, 
    `label` varchar(20) NOT NULL, 
    `level` int(11) NOT NULL, 
    `path` varchar(100) NOT NULL, 
    `sortorder` int(11) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

查詢1

SELECT t.table_name, 
    group_concat(c.column_name ORDER BY c.ordinal_position) AS columns 
FROM information_schema.tables t 
    JOIN information_schema.columns c ON t.table_name = c.table_name 
WHERE t.table_name = 'category' 
GROUP BY t.table_name 

Results

| TABLE_NAME |         COLUMNS | 
-------------------------------------------------------- 
| category | id,parent_id,label,level,path,sortorder | 
+0

嗨, 謝謝你,我會嘗試這個代碼 – trip 2013-03-22 21:19:51

+0

嗨, 謝謝你,我會嘗試這個代碼 如何更改下面MsSal代碼到MySql 'IF(SELECT OBJECTPROPERTY(OBJECT_ID(@tablename ), 'TableHasIdentity'))= 1 - 具有標識列 SET @sql = 'SET IDENTITY_INSERT '+ @ TABLENAME +' ON' + @sql_insert ELSE SET @sql = @ sql_insert' 是否有任何計算策略或我參考的URL參見MySql中的MsSql等價函數 – trip 2013-03-22 21:25:46

+0

@trip,我現在還沒有準備好ans請回答這個問題,讓更多的人看到它 – shibormot 2013-03-22 21:34:00