我使用SQL Server 2012,並正在尋找其替代變量的Oracle報表折算甲骨文聲明的替代變量尋找SQL轉換。正在使用
正在使用
回答
我絕不是一個Oracle專家,但我認爲substition變量是特定於SQL * PLUS,而不是Oracle數據庫。
SQL * PLUS
define region=West
define state=California
UPDATE customers
SET region = '®ion'
WHERE state = '&state'
我的理解是,SQL * Plus將執行下列SQL:
UPDATE customers
SET region = 'West'
WHERE state = 'California'
在MS SQL Server中的相當於2012將是:
Declare @Region varchar(100)
Declare @State varchar(100)
Set @Region = 'West'
Set @State = 'California'
Update Customers
Set region = @Region
Where State = @State
或者你可能會失去所有變量,只需使用:
Update Customers
Set Region = 'West'
Where State = 'California'
編輯:只有
更新影響當前表中的數據。如果您在以後的日期向表中添加更多數據,則需要再次運行更新。
例如
添加更多行的State
「California」不會自動將Region
列設置爲「West」插入的行。
還要確保您使用相同的數據類型(和長度)爲您的變量,你在你的表結構已經宣佈。
它將會像
Declare @State varchar(100)
Declare @Region varchar(100)
UPDATE customers
SET region = @Region
WHERE state = @State
您還需要爲您的變量賦值,否則它們將爲'NULL' – codingbadger
@ xionutz2k:正在獲取「字符串或二進制數據將被截斷 該語句已被終止。執行此操作後的消息 –
錯誤表明我們定義的@Region變量的長度超過了customers表中region列的長度。在定義變量時,我已經隨機選擇了100作爲長度,但您應該首先檢查表格列的長度。嘗試使用DESC客戶獲得表格的第一列(列及其數據類型) – xionutz2k
- 1. 正在使用PHP
- 2. 正在使用country.asmx
- 3. 正在使用Better?
- 4. 正在使用scipy.linalg.solve_discrete_lyapunov我正確
- 5. 正在使用Playlist.new(params [:playlist])不正常?
- 6. 正在使用:require'../db.rb'是否正確?
- 7. 我正在使用什麼?
- 8. 正在使用TypedFactoryFacility錯誤?
- 9. 我正在使用ThreadPool.QueueUserWorkItem嗎?
- 10. 哪個Java正在使用
- 11. 端口正在使用50070
- 12. COM端口正在使用
- 13. Visual Studio ToDo.Who正在使用?
- 14. 我正在使用actionlistener
- 15. ServerSocket正在使用IP/::
- 16. 正在使用填充
- 17. 手柄 - 正在使用中
- 18. 使用FTW()正常在C
- 19. 表正在使用嗎?
- 20. 正在使用的FileStream
- 21. 哪些dll正在使用?
- 22. 正在使用asp.net web api
- 23. 檢測正在使用drawRect()
- 24. 我正在使用mysql_real_escape_string嗎?
- 25. 正在使用Kubernetes Spring Cloud正在使用多個配置地圖
- 26. 當試圖刪除文件時正在使用'文件正在使用'#
- 27. facebook應用正在使用的導航
- 28. 正在使用$ GLOBALS ['HTTP_GET_VARS']棄用?
- 29. 使用$ @正確
- 30. 正確使用
感謝您的查詢,它真的幫助我!此外,我只是想知道,執行上述聲明意味着將來每當我插入值爲「加利福尼亞州」的狀態時,默認情況下會將值「西部」置於區域中,或者僅將值設置爲當前客戶表? –
正在獲取「字符串或二進制數據將被截斷。 該語句已被終止。」即使在分配變量 –
@PrincessS關於您的第一條評論之後,請參閱我的編輯。你的第二個評論;您需要確保變量(及其各自的值)的長度與表結構的數據類型相匹配。 – codingbadger