excel - 脚本将创建的过程存储在单行中
问题描述
我已经在 excel 中编写了 VBA 代码以在 oracle 中创建一个 SP,并且它工作正常。但是当我在 oracle 中打开 SP 时,它会在一行中显示整个代码。我尝试了已知的换行方式,但没有任何效果。
我的实际VB代码:
If sp_exist_chk_flag > 0 Then
Else
cmd_meta.CommandText = "create or replace PROCEDURE TEST_SP " & Chr(13) & _
"As" & Chr(13) & _
"REP DATA_REP.REP_ID%TYPE;" & Chr(13) & _
"SELECT REP_ID INTO REP FROM DATA_REP WHERE REP_NAME='xyz';" & Chr(13) & _
"COMMIT;" & Chr(13) & _
"END;"
cmd_meta.Execute
MsgBox "SP Created"
End If
在 Oracle 中,我可以看到 SP 的创建如下
create or replace PROCEDURE TEST_SP As REP DATA_REP.REP_ID%TYPE; SELECT REP_ID INTO REP FROM DATA_REP WHERE REP_NAME='xyz'; COMMIT; END;
我的实际 SP 太长了,所以我的 vb 代码使它变得很长。请使用 VB 代码或 oracle 命令帮助我,使其看起来像一个在 oracle 中有适当换行符的实际 SP。
解决方案
不确定它是否会有所作为,但请尝试使用vbCrLf
常量而不是Chr(13)
.
If sp_exist_chk_flag > 0 Then
Else
cmd_meta.CommandText = "create or replace PROCEDURE TEST_SP " & vbCrLf & _
"As" & vbCrLf & _
"REP DATA_REP.REP_ID%TYPE;" & vbCrLf & _
"SELECT REP_ID INTO REP FROM DATA_REP WHERE REP_NAME='xyz';" & vbCrLf & _
"COMMIT;" & vbCrLf & _
"END;"
cmd_meta.Execute
MsgBox "SP Created"
End If
推荐阅读
- angular - clrDgSingleSelected 在清晰版本 3 中抛出错误
- macos - 如何调试调用 NSMenuItem 上的 undo 命令导致的崩溃?
- sas - SAS:在数据步中添加字符变量而不预先设置长度
- node.js - NodeJS/Express 多个路由文件之间的共享功能
- node.js - heroku Postgres - 续集:主机没有 pg_hba.conf 条目
- c# - 已发布的文件夹名称和清单未更新
- java - 空集合转换为空
- r - 字符串似乎是一个空格字符,但不是
- mysql - 有没有办法将查询结果临时存储在 mySQL 中?
- sql - SQL Server 创建根据不同日期范围合计数量的查询