社区
PowerBuilder
帖子详情
急: 如何用execute执行多条SQL语句?
anray
2002-06-20 12:12:28
急: 如何用execute执行多条SQL语句?
...全文
1715
22
打赏
收藏
急: 如何用execute执行多条SQL语句?
急: 如何用execute执行多条SQL语句?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sun9761
2002-07-14
打赏
举报
回复
5201314
PBsystem
2002-07-12
打赏
举报
回复
多条语名写入一个.sql文件
用osql 执行!
mynah8
2002-07-11
打赏
举报
回复
继续讨论...
WorldMobile
2002-06-20
打赏
举报
回复
把你的SQL语句放在存储过程中吧,这样速度还能快些
anray
2002-06-20
打赏
举报
回复
To 回复人: delphi_compiler(蘸水鱼):
ORACLE 中StoreProceduce 不支持"Create..."语句的,我现在就想用几条SQL同时执行去建多个表啊.
anray
2002-06-20
打赏
举报
回复
execute IMMEDIATE
我知道这样执行啊,但是这样只能执行一条SQL语句,要想执行多条就不知道怎样了.
不会是:execute IMMEDIATE SQL1;SQL2;SQL3;.....;......吧?这样我试过了,不行啊!!!!
delphi_compiler
2002-06-20
打赏
举报
回复
用存储过程行否?试试吧.
xingxing
2002-06-20
打赏
举报
回复
execute IMMEDIATE
gztitan
2002-06-20
打赏
举报
回复
其实是在程序中IMPORT 一个.SQL文件通过一次建立多个表,可以动态修改表结构!
mynah8
2002-06-20
打赏
举报
回复
按照jimly(一脚)的方法按理论应该可行。
以下是具体的程序:
(注意以下程序未经在orcal测试,但在mysql测试可行)
string ls_compart = '~r~n' + '/' + '~r~n'
//以上是orcal的分隔符
//如果是MSSQL及sybase将 '/' 改成 'go'
//如果ASA改成分号
//以上分隔符'~r~n'如果有问题,改成char(13)+char(10)试试
//即:string ls_compart = char(13)+char(10) + '/' + char(13)+char(10)
string ls_sql[], ls_sqlSyntax
ls_sql[1] = 'drop table Tab2 cascade constraints'
ls_sql[2] = 'drop table Tab1 cascade constraints'
ls_sql[3] = 'create table Tab1' + &
'(id VARCHAR2(8) not null, ' + &
' constraint PK_TAB1 primary key (id))'
ls_sql[4] = 'create table Tab2' + &
'(' + &
'id int not null,' + &
'name VARCHAR2(8) null,' + &
'constraint PK_TAB2 primary key (id)' + &
')'
ls_sql[5] = 'create index idx_tab2_name on Tab_2 (name asc)'
ls_sqlSyntax = ls_sql[1] + ls_compart
ls_sqlSyntax += ls_sql[2] + ls_compart
ls_sqlSyntax += ls_sql[3] + ls_compart
ls_sqlSyntax += ls_sql[4] + ls_compart
ls_sqlSyntax += ls_sql[5] + ls_compart
SQLCA.AutoCommit = TRUE //这句也许可以不要
EXECUTE IMMEDIATE :ls_sqlSyntax USING SQLCA ;
SQLCA.AutoCommit = FALSE
jimly
2002-06-20
打赏
举报
回复
不知你要在何处?存储过程中?程序中?一次创建多个表?
您是要必须在存储过程中执行一次创建多个表?
hammlet
2002-06-20
打赏
举报
回复
直接用;分开写多条就可以了
gztitan
2002-06-20
打赏
举报
回复
问题就是在如何分隔多个SQL语句,如何拼成一条SQL! 因为在ORACLE 中存储过程是不支持"CREATE, DROP"等语句. 如何一次CREATE多个TABLE?
jimly
2002-06-20
打赏
举报
回复
还有你那create好象少分号
jimly
2002-06-20
打赏
举报
回复
oracle学过几天,不熟呀。再有oracle 我也不知道如何一次导出所有语法。
不过拆分应该是没错的,不知分号如何。
再说你的文本写在代码中完全可以先执行drop再create
gztitan
2002-06-20
打赏
举报
回复
1
但是在ORACLE中出现ERROR! "PLS-00103 ENCOUNTERED THE SYMBOL "DROP" WHEN EXPECTING ONE OF THE FOLLOWING"
例子:
ls_sql = "Begin drop table ecs_"+as_campaignID+"_quest end;"
ls_sql = ls_sql+ "begin CREATE TABLE ecs_"+as_campaignID+"_quest ( "&
+"id_question varCHAR2(6) NOT NULL, "&
+"type_question CHAR (1) NOT NULL, "&
+"con_question varchar2(2000) NOT NULL, "&
+"se_quest CHAR(1) , "&
+"CONSTRAINT pk_ecs_"+as_campaignID+"_quest PRIMARY KEY(id_question) USING "&
+"INDEX "&
+"TABLESPACE ecs_ind) "&
+"TABLESPACE ecs end;"
zhyx21century
2002-06-20
打赏
举报
回复
gz
hammlet
2002-06-20
打赏
举报
回复
ls_SQL = "alter table carrying add is_ship char(1); " + &
ls_SQL = ls_SQL +
"INSERT INTO trade( code,mode) VALUES('4600','1');"
EXECUTE IMMEDIATE :ls_SQL USING SQLCA ;
leio
2002-06-20
打赏
举报
回复
用PL/SQL块的方式运行,在你的多条SQL语句前后加上BEGIN和END组成字符串后EXECUTE IMMEDIATE。
gztitan
2002-06-20
打赏
举报
回复
一脚先生:
在ORACLE 中如何分隔? 如何拼SQL?我用以下的例子但不行
ls_sql = "drop table ecs_"+as_campaignID+"_quest"
ls_sql = ls_sql+ ";"
ls_sql = ls_sql+ "CREATE TABLE ecs_"+as_campaignID+"_quest ( "&
+"id_question varCHAR2(6) NOT NULL, "&
+"type_question CHAR (1) NOT NULL, "&
+"con_question varchar2(2000) NOT NULL, "&
+"se_quest CHAR(1) , "&
+"CONSTRAINT pk_ecs_"+as_campaignID+"_quest PRIMARY KEY(id_question) USING "&
+"INDEX "&
+"TABLESPACE ecs_ind) "&
+"TABLESPACE ecs"
加载更多回复(2)
java sql
execute
,如何使用java
执行
一批
SQL语句
?(How to
execute
a batch of SQL statements using java?)...
如何使用java
执行
一批
SQL语句
?(How to
execute
a batch of SQL statements using java?)问题描述 (Problem Description)如何同时在数据库上
执行
多个SQL命令?解决方案 (Solution)以下示例使用addBatch和
execute
Batch命令同时
执行
多个SQL命令。import java.sql.*;public cl...
TP5 Db::
execute
无法同时创建多表语句,怎么解决?
最近在tp兼容微擎模块,遇到一个问题就是更新时候,需要用到原生语句的
执行
,但是Db::
execute
无法创建多表语句,怎么做比较好呢? $sql="CREATE TABLE IF NOT EXISTS `yoshop_qy_bz_article` ( `id` int(10) NOT NULL AUTO_INCREMENT, `displayorder` int(10) NOT NULL COMMENT '排序', `uniacid` int(10) NOT NULL, `cid` int(
php
执行
两条sql,php
执行
多条
sql语句
出错
一段
执行
多条
sql的语句,在本地和命令行下能正常
执行
,放上服务器后就报错。用了thinkphp, 但本地与服务器代码是一样的,我猜测是php或mysql设定的问题,但始终没找到。增加
sql语句
长度(多打几个a), 报错内容一样。
执行
单条sql,不论长度如何,能正常
执行
。$sql="INSERT INTO gongzhonghao.response (receive,response) VALUES...
Java Statement 中
execute
可以
执行
多条
语句
在项目中利用脚本创建数据库表,遇到报错。是在
执行
execute
方法时,报sql错误。这个sql在数据库里是可以
执行
的。但是用
execute
就报错了。大大的疑惑??? 后面发现我的sql脚本里存在
多条
执行
语句。但是
execute
默认只能
执行
一条。 刚开始我的连接url是这样的: String url = "jdbc:mysql://localhost:3306/" + databaseName + "?useUnicode=true&characterEncoding=UTF-8"; 要想解决报错
sqlyog
执行
多条
sql语句
执行
一条
sql语句
:F9;
执行
多条
sql语句
:Ctrl+F9; 1,Ctrl+A选中所有,再点击左上角的
执行
按钮。 2,直接点击
Execute
AllQueries,或者直接Ctrl+F9
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章