[20180808]Null value to Dynamic SQL.txt
[20180808]Null value to Dynamic SQL.txt
SCOTT@book> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SCOTT@book> create table t1( id number,name varchar2(10));
Table created.
insert into t1 values (1,'a');
insert into t1 values (2,'b');
commit ;
begin
execute immediate 'update t1 set name = :1' using null;
end;
/
execute immediate 'update t1 set name = :1' using null;
*
ERROR at line 2:
ORA-06550: line 2, column 51:
PLS-00457: expressions have to be of SQL types
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
--//主要原因是這裡的NULL不知道什麼型別,只要定義型別就ok了.
--//修改如下:
begin
execute immediate 'update t1 set name = :1' using cast(null as varchar2(10));
end;
/
execute immediate 'update t1 set name = :1' using cast(null as varchar2(10));
*
ERROR at line 2:
ORA-06550: line 2, column 72:
PLS-00103: Encountered the symbol "(" when expecting one of the following:
. ) @ %
--//依舊不行.視乎在這裡不能使用括號指定長度.
begin
execute immediate 'update t1 set name = :1' using cast(null as varchar2);
end;
/
--//這樣ok!
SCOTT@book> select * from t1;
ID NAME
---------- --------------------
1
2
SCOTT@book> rollback;
Rollback complete.
--//當然也可以這樣寫:
declare
v_name varchar2(10);
begin
v_name := null;
execute immediate 'update t1 set name = :1' using v_name;
end;
/
SCOTT@book> select * from t1;
ID NAME
---------- --------------------
1
2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2199613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql遇到Variable can’t be set to the value of ‘NULL’MySqlNull
- Hashtable/HashMap與key/value為null的關係HashMapNull
- Mysql:Variable 'XXXt' can't be set to the value of 'NULL'解決MySqlNull
- [20180808]exists and not exists.txt
- VUE前端打包報錯:TypeError: Class extends value undefined is not a constructor or nullVue前端ErrorUndefinedStructNull
- 解決問題:Variable 'time_zone' can't be set to the value of 'NULL'Null
- 永久有效的 webstorm license server 20180808WebORMServer
- [20190706]Same dog, different leash – functions in SQL.txtFunctionSQL
- 物件轉json字串的過程中對value為null的值的一些處理物件JSON字串Null
- 【NULL】Oracle null值介紹NullOracle
- @property @synthesize @dynamic
- dynamic_castAST
- php static dynamicPHP
- [20181107]18c新特性取消執行的sql.txtSQL
- MySQL中IS NULL、IS NOT NULL、!=不能用索引?胡扯!MySqlNull索引
- DRM - Dynamic Resource MasteringAST
- dynamic bone unity githubUnityGithub
- dynamic關鍵字
- ZOJ - 2112 Dynamic Rankings
- PropertyChanged == nullNull
- MySQL NULLMySqlNull
- golang multiple-value xxx in single-value contextGolangContext
- MySQL null值儲存,null效能影響MySqlNull
- 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的區別devNull
- [20231103]sqlplus column new_value old_value.txtSQL
- [20230303]sqlplus column new_value old_value.txtSQL
- NULL列時,如何使得IS NULL或者IS NOT NULL可以使用索引來提高查詢效率Null索引
- MYSQL timestamp NOT NULL插入NULL的報錯問題MySqlNull
- 為什麼索引無法使用is null和is not null索引Null
- JavaScript select valueJavaScript
- @ConfigurationProperties和@Value
- tf.nn.dynamic_rnnRNN
- DataTable 轉為 List<dynamic>
- P2617 Dynamic Rankings
- @synthesize @dynamic 的區別
- c# dynamic和ExpandoObjectC#Object
- null與indexNullIndex
- null 和 undefinedNullUndefined