use*_*350 4 plsql insert concatenation execute-immediate
只是想知道这是否是使用多个列和行执行EXECUTE IMMEDIATE并将其分配给变量的正确方法?我试着查看示例,但不确定我是否正确连接线条?
sql_stmt VARCHAR2(200);
sql_stmt:='INSERT INTO (STORECODE, TILLID, TRANSACTIONNR, TRADINGDATE, TRANSTYPE, ' ||
'OPERATORCODE TRAININGMODE, VOIDED, VALUEGROSS, VALUENETT, VALUEDUE) ' ||
‘VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10)’;
EXECUTE IMMEDIATE sql_stmt USING sSTORECODE………………………………………..fGROSS_AMOUNT,
‘0’;
Run Code Online (Sandbox Code Playgroud)
Vin*_*rat 11
Oracle中的字符串可以是多行的.因此,您可以简单地写:
sql_stmt := 'INSERT INTO (STORECODE, TILLID, TRANSACTIONNR, TRADINGDATE,
TRANSTYPE, OPERATORCODE TRAININGMODE, VOIDED,
VALUEGROSS, VALUENETT, VALUEDUE)
VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10)';
EXECUTE IMMEDIATE sql_stmt USING p1, p2... p10;
Run Code Online (Sandbox Code Playgroud)
使用concatenation(||)和几个子串当然也可以.
| 归档时间: |
|
| 查看次数: |
12691 次 |
| 最近记录: |