sql plus new_vlaue 用法

本文通过具体的Oracle SQL查询示例,展示了如何使用SQL从EMP表中选取员工姓名,并利用PL/SQL设置列别名及动态SQL技巧。示例中还介绍了如何通过列别名设置新的变量值并返回特定记录。
直接用代码说话


fuyou@ORCL> select ename from emp;

ENAME
--------------------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

已选择14行。

fuyou@ORCL> column ename new_value f;
fuyou@ORCL> select ename from emp;

ENAME
--------------------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

已选择14行。

fuyou@ORCL> select '&f' from dual;
原值 1: select '&f' from dual
新值 1: select 'MILLER' from dual

'MILLE
------
MILLER

fuyou@ORCL> spool off


column b new_value c;

select ename b from emp;

列名或别名要与column后的名字对应
#include "Mode1.h" bit Start1,Start2,Start3,Start4,Start5,Start6,Start7; uchar direction = 0 ; float add_all =0 ; float add_all_num =0 ; //加的最小数 float add_minus_num =0 ; //减的的最小数 uint add_all_num_su =0 ; uint PWM_MAX_Vlaue =0 ; uint PWM_add_time =0 ; //加速时间 uint PWM_minus_time =0 ; //减速时间 uint PWM_minus_time_cnt = 0 ; //减速时间判断的标志位 uint PWM_add_minus_Seep_flag =0 ;//加减速的标志位 如果是0就开始减速 如果是1就开始加速 uchar set_dis() { if(LED_ONF == 1) { if(Start1){SEG_N=t1.time;f_flag=t1.flag;return 1;} if(Start2){SEG_N=t2.time;f_flag=t2.flag;return 2;} if(Start3){SEG_N=t3.time;f_flag=t3.flag;return 2;} if(Start4){SEG_N=t4.time;f_flag=t4.flag;return 2;} } return 0; } void Mode1() { if(IN1_LEASE || IN2_LEASE) { if( time_x[11+7] == 0 ) //不需要减速的 { Stop(direction); direction = 0; } else if( direction != 0 ) { PWM_add_minus_Seep_flag = 0; } } if(IN1_PRESS && !IN3_KEEP_PRESS && !direction) { add_all =1; direction = 1; Start(MOTOR_FREQ , add_all * SPEED_DUTY / 100,direction); Start5 = 0; over_I = 0 ; adjust = 0; } if(IN2_PRESS && !IN4_KEEP_PRESS && !direction) { add_all =1; direction = 2; Start(MOTOR_FREQ , add_all * SPEED_DUTY / 100,direction); Start5 = 0; over_I = 0 ; adjust = 0; } if(IN3_KEEP_PRESS && direction == 1) { if( time_x[11+7] == 0 ) //不需要减速的 { Stop(direction); direction = 0; } else if( direction != 0 ) { PWM_add_minus_Seep_flag = 0; } } if(IN4_KEEP_PRESS && direction == 2) { if( time_x[11+7] == 0 ) //不需要减速的 { Stop(direction); direction = 0; } else if( direction != 0 ) { PWM_add_minus_Seep_flag = 0; } } set_dis(); } void ADD_DLL_SU(void) { /* PWM_add_time = time_x[15]; 加速的时间 如果为0是直接启动的 direction //方向 正转是1 反转是2 停止是0 over_I //堵转的标志位 PWM_MAX_Vlaue = (uint)time_x[13] * SPEED_DUTY / 100; //正转的最大速度 PWM_MAX_Vlaue = (uint)time_x[14] * SPEED_DUTY / 100; //反转的最大速度 */ if( direction != 0 && !over_I && PWM_add_time > 0 && PWM_add_minus_Seep_flag ) { if(++add_all_num_su >= 8 ) //每隔一个时间加一段速度 { add_all_num_su = 0 ; if( add_all != PWM_MAX_Vlaue ) { add_all_num = (float)PWM_MAX_Vlaue/PWM_add_time ;//每一次加的占空比 if( add_all+add_all_num <= PWM_MAX_Vlaue ) { add_all+=add_all_num; } else { add_all =PWM_MAX_Vlaue; } PWM_set(MOTOR_FREQ , (uint)add_all * SPEED_DUTY / 100,direction); } } } else if( direction != 0 && !over_I && PWM_add_time == 0 && PWM_add_minus_Seep_flag ) { if( add_all != PWM_MAX_Vlaue ) { add_all =PWM_MAX_Vlaue; PWM_set(MOTOR_FREQ , (uint)add_all * SPEED_DUTY / 100,direction); } } else if( direction != 0 && !over_I && PWM_add_minus_Seep_flag == 0 && time_x[18] != 0 ) //缓降速使用 方便以后需要的功能修改保留 { if(++add_all_num_su >= 8 ) //每隔一个时间加一段速度 { add_all_num_su = 0 ; if( add_all != 0 ) { add_all_num = (float)PWM_MAX_Vlaue/PWM_minus_time ;//每一次减的占空比 if( add_all >= add_all_num ) { add_all-=add_all_num; PWM_set(MOTOR_FREQ , (uint)add_all * SPEED_DUTY / 100,direction); if(add_all == 0 ) { Stop(direction); direction = 0; } } else { add_all =0; Stop(direction); direction = 0; } } } } else { add_all_num_su =0 ; add_all_num_su = 0 ; add_all = 0; } // if( direction != 0 && !over_I && time_x[11+5] > 0 ) // { // if(++add_all_num_su >=16 ) // { // add_all_num_su = 0 ; // if(direction == 1 && add_all != time_x[9+5]) // { // add_all_num = time_x[9+5]/time_x[11+5];if(add_all_num < 1 )add_all_num =1; // if(add_all < time_x[9+5] - add_all_num )add_all +=add_all_num;else add_all =time_x[9+5]; // Start(MOTOR_FREQ , add_all * SPEED_DUTY / 100, direction ); // } // else if(direction == 2 && add_all != time_x[10+5]) // { // add_all_num = time_x[10+5]/time_x[11+5];if(add_all_num < 1 )add_all_num =1; // if(add_all < time_x[10+5] - add_all_num )add_all +=add_all_num;else add_all =time_x[10+5]; // Start(MOTOR_FREQ , add_all * SPEED_DUTY / 100, direction ); // } // } // } // else if( direction != 0 && !over_I && time_x[11+5] == 0 ) // { // if(direction == 1 && add_all != time_x[9+5]) // { // add_all =time_x[9+5]; // Start(MOTOR_FREQ , add_all * SPEED_DUTY / 100, direction ); // } // else if(direction == 2 && add_all != time_x[10+5]) // { // add_all =time_x[10+5]; // Start(MOTOR_FREQ , add_all * SPEED_DUTY / 100, direction ); // } // // } // else // { // add_all_num_su =0 ; // add_all_num_su = 0 ; // add_all = 1; // } }
08-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值