2012-04-27 153 views
3

我創建了所有存儲過程,其中[email protected]爲DEFINER值。現在,由於我更改了我的位置,因此我無法查看或導出代碼的IP地址。Mysql存儲過程導出

我的代碼位於共享主機上,支持團隊不想幫助解決此問題。

關於如何獲得代碼的任何想法?即使是完整的數據庫導出也不包含存儲過程代碼。它只有被插入ROUTINES表中的數據

INSERT INTO `ROUTINES` (`SPECIFIC_NAME`, `ROUTINE_CATALOG`, `ROUTINE_SCHEMA`, 
    `ROUTINE_NAME`, `ROUTINE_TYPE`, `DTD_IDENTIFIER`, 
    `ROUTINE_BODY`, `ROUTINE_DEFINITION`, `EXTERNAL_NAME`, `EXTERNAL_LANGUAGE`, 
    `PARAMETER_STYLE`, `IS_DETERMINISTIC`, `SQL_DATA_ACCESS`, `SQL_PATH`, 
    `SECURITY_TYPE`, `CREATED`, `LAST_ALTERED`, `SQL_MODE`, `ROUTINE_COMMENT`, 
    `DEFINER`, `CHARACTER_SET_CLIENT`, `COLLATION_CONNECTION`, 
    `DATABASE_COLLATION`) 
VALUES ('sp_sample_name', NULL, 'XXX', 
    'sp_sample_name', 'PROCEDURE', NULL, 
    'SQL', NULL, NULL, NULL, 
    'SQL', 'NO', 'CONTAINS SQL', NULL, 
    'DEFINER', '2012-03-26 01:01:14', '2012-03-26 01:01:14', 'STRICT_TRANS_TABLES', 
    '', '[email protected]', 'latin1', 'latin1_swedish_ci', 
    'latin1_swedish_ci'), 

謝謝

回答

2

您可以撥打SHOW CREATE PROCEDURE

+0

如果我創建了一個新過程,但它在這種情況下不返回代碼。它返回如下:程序/的sql_mode /創建過程/ charset_set_client/collat​​ion_connection是/數據庫歸類 sp_sample_name \t STRICT_TRANS_TABLES(空)\t LATIN1 \t latin1_swedish_ci \t latin1_swedish_ci – user1359575 2012-04-27 18:28:45

+0

它返回(空)的創建過程。不知道爲什麼。 – user1359575 2012-04-27 18:31:34

+0

'Create Procedure'是*絕對*'NULL'?這不僅僅是因爲它包含換行符,所以它的內容在客戶端程序中是隱藏的?也許試試['SHOW PROCEDURE CODE'](http://dev.mysql.com/doc/refman/5.6/en/show-procedure-code.html)? – eggyal 2012-04-27 18:31:34