select * from aaa where aa = &ts
当运行这个语句的时候oracle会提示要求你输入变量ts,这个时候你手工填写一个数据后就可以运行这个语句,我想知道开发程序的时候如何通过程序直接把一个数据给这个“&ts”变量。
当运行这个语句的时候oracle会提示要求你输入变量ts,这个时候你手工填写一个数据后就可以运行这个语句,我想知道开发程序的时候如何通过程序直接把一个数据给这个“&ts”变量。
解决方案 »
- oracle 向同一个表中插入多行数据
- oracle 求字符 长度
- 使用_sql_trace_in_session跟踪,如何显示:1这些参数值
- 急求解决数据库方面
- 哪位知道oracle9i的net configuration assistant中测试连通与否的提示信息保存在什么文件里?
- sql查询的问题?
- 有关动态语句
- Oracle酷站推荐!
- 时间查询的问题:oracle数据库的时间格式是(11-四月 -2002 11:20:29 AM),我想查时间等于11-四月 -2002的数据该怎么查??
- row_number()加where条件,急
- 一个包的简单问题,请大家帮我看看
- 怎么判断一个字符串大于70字节?如果大于后拆分为多个字符串?
直接用parameter可以使用.
我们知道在SQL*PLUS默认环境里会把'&字符'当成变量来处理. 有些时候我们也需要在SQL>的符号下输入'&字符', 只需要改变SQL*PLUS下一个环境变量define即可.
SQL> set define off; 是把默认的&绑定变量的功能取消, 可以把'&字符'当成普通字符处理 SQL> set define on; 打开&绑定变量的功能, &后面的字符串当变量使用. SQL> show define; 查看当前SQL*PLUS的define状态
举例说明:
---------------------------------------------------------------
SQL> CREATE TABLE TEST3 (
ID NUMBER (2) PRIMARY KEY,
NAME VARCHAR2 (20));
SQL> show define;
define "&" (hex 26)
SQL> insert into test3 values(1,'sgs&a&n');
Enter value for a: abc
Enter value for n: 456
old 1: insert into test3 values(1,'sgs&a&n')
new 1: insert into test3 values(1,'sgsabc456') 1 row created. SQL> commit; Commit complete. SQL> set define off; SQL> insert into test3 values(2,'sgs&a&n');
1 row created. SQL> commit; Commit complete. SQL> select * from test3; ID NAME
-- --------------------
1 sgsabc456
2 sgs&a&n
16:05:44 SQL> insert into t1 values ('aa&bb');
输入 bb 的值: 5
原值 1: insert into t1 values ('aa&bb')
新值 1: insert into t1 values ('aa5')已创建 1 行。已用时间: 00: 00: 00.00
16:06:12 SQL> insert into t1 values ('aa'||chr(38)||'bb');已创建 1 行。已用时间: 00: 00: 00.15
16:06:16 SQL> select * from t1;
aa5
aa&bb已用时间: 00: 00: 00.15
直接用parameter可以使用.不是很明白请赐教!