2013-11-22 55 views
0

我非常喜歡微軟的SQL Server和SQL Server Management Studio(SSMS)。使用MySQL Workbench構建和測試SSMS人員

我試圖讓我在那裏做的事情在MySQL Workbench中工作,但它給了我非常無益的錯誤。

目前,我正在嘗試寫一個INSERT聲明。我想聲明我的變量並用幾個值進行測試,然後將最終結果轉換爲存儲過程。

現在,我有沒有讓我繼續一個語法錯誤,並且錯誤信息是沒有幫助的之一:

語法錯誤,意想不到的DECLARE_SYM

沒有錯誤列表在底部,無法將該錯誤的文本複製到剪貼板,因此必須在一個屏幕上進行研究,然後翻轉至該屏幕,以便將其寫下。

刺激!

MySQL documentation肯定有我在找的東西,但是通過這樣做我可以學得快得多,花費數週時間閱讀他們的在線手冊。

DELIMITER $$ 

declare cGroupID char(6) DEFAULT = 'ABC123'; 
declare subGroupRecords int; 
declare nDocTypeID int(11); 
declare bDocActive tinyint(1) DEFAULT '1'; 
declare cDocID varchar(256) DEFAULT NULL; 

    insert into dbo_connection.documents 
    (group_id, subgroup_id, type_id, active, title, doc_id, priority, ahref, description, last_modified) 
    values 
    (cGroupID,cSubGroupID,nDocTypeID,bDocActive,cTitle,cDocID,0,ahref1, docDesc,NOW()); 

select * from dbo_connection.documents where group_id='ABC123'; 


END 

screenshot

所以,現在,我正在尋找爲什麼MySQL不喜歡我declare聲明。從長期來看,我有興趣找到一篇簡短的文章,該文章展示了一個Cookbook方法來完成SQL開發人員需要的一些基本任務(即跳過Hello World程序和數據類型討論)。

回答

1

DECLARE只在stored programs內有效。換句話說,與T-SQL不同,你不能建立你的查詢,然後圍繞它來包裝CREATE PROCEDURE以將最終結果轉化爲存儲過程,你必須從一開始就把它作爲一個存儲過程來構建起來。

+0

+1這可能是答案。那麼,我該如何創建一個在sql腳本中運行的變量呢?我並不擅長使用MySQL來開始製作長長的代碼,而沒有首先對它們進行測試。 – jp2code

+0

只需對[用戶變量](http://dev.mysql.com/doc/refman/5.5/en/user-variables.html)使用'SET'語法。像'SET @cGroupID ='ABC123'; INSERT dbo_connection.documents(group_id)VALUES(@cGroupID);' – dpw

+1

另請注意可用於用戶變量的有限類型,並且類型是隱式分配的。 – dpw

相關問題