0

的顯示長度,我們得到了一些SQL腳本,它們中的一些使用語法,如:MySQL的語法來設置數據類型

Create procedure procABC(...) 
    as 
    begin 
    ... 
    ... 
    'ColA'= CONVERT(smalldatetime(10),ColB,103), 
    ... 
    ... 
    End 

同一種語法,我們也有INTEGER像

INTEGER(5) 

我知道在MySql中使用這種語法來設置列或變量的顯示寬度。但在任何的開始從SQL 7到SQL 2008的SQL Server版本這句法fails.So我的問題是:

  1. 我們有從SQL Server機器該腳本備份,是有可能有某種類型的緩存腳本,就像我們在ORACLE中的腳本可能無效,但它仍然會在服務器上處於無效模式,並且如果有任何語法錯誤會給編譯錯誤造成影響。

  2. 有沒有辦法實現SQL服務器中同樣的功能,因爲我們應該重新創建這些對象(除了SUBSTRING之外的東西)

+0

我不明白你的問題。你是否試圖將數據庫從MySQL複製到SQL Server;在另一個方向上覆制它;開發一個可以使用MySQL或SQL Server作爲後端的應用程序;或者是其他東西? – Pondlife

+0

不,我不想從MySql複製到SQl服務器。我正在嘗試將SQL Server 2000遷移到Sql server 2008.因此,我在某些腳本中使用了此語法。但現在當我在Sql2000上嘗試相同的腳本時,它們失敗了,因此我無法遷移。我不知道他們是如何被創造出來的。 – AjayK

+0

我還是有點困惑,你爲什麼提到MySQL?如果你正在升級你的SQL Server版本,你爲什麼要使用腳本?爲什麼不安裝新版本並讓它升級?使用SQL Server 2008功能的腳本顯然不能在SQL Server 2000上運行,但反過來也是可能的。 – Pondlife

回答

0

如果我正確理解你的更多信息,你有被一些腳本創建一個SQL Server 2000數據庫,但是你唯一的腳本在MySQL的語法和你不知道他們是如何與SQL Server數據庫。您的目標是創建一組可用於在SQL Server 2008系統上重新創建SQL Server 2000數據庫的腳本。

首先,如果這種理解是正確的,那麼我會完全忘記MySQL腳本。如果文件中有有用的評論,它們可能具有一些有價值的文件,但它們不是您的任務直接需要的。

其次,我想你的SQL 2000數據庫升級到SQL 2008,您可以將其備份和還原一個SQL 2008服務器上,也可以提升整個SQL Server本身從2000年到2008年

三,如果您願意,我會爲使用SQL Server Management Studio或SMO API的數據庫對象生成SQL腳本。 Visual Studio數據庫項目也可能是管理腳本的好方法。

有很多關於這個網站,SQL Server文檔,MSDN等所有這些任務的信息。如果你需要更多的幫助,你應該問一些關於你想要做什麼以及你嘗試過什麼的更精確的問題已經。

相關問題