Oracle的TRAN_STATE=decode([P_RETCODE],'0000000','0','5')转换为MySQL
时间: 2024-01-16 10:02:07 浏览: 111
在 MySQL 中,可以使用 CASE 表达式来完成类似的转换:
```
CASE WHEN P_RETCODE = '0000000' THEN '0' ELSE '5' END AS TRAN_STATE
```
这个表达式的意思是,如果 P_RETCODE 的值为 '0000000',那么 TRAN_STATE 的值为 '0',否则为 '5'。
相关问题
use [20201977岳靖斌] begin transaction tran_c select * from CustomerInfo where cus_id='3' and cus_age>=19; UPDATE CustomerInfo SET cus_age=cus_age-10 WHERE cus_id='3' case when select * from CustomerInfo where cus_id='3' and cus_age=10 then rollback transaction; select * from CustomerInfo where cus_id='1' and cus_age=18; UPDATE CustomerInfo SET cus_age=cus_age-10 WHERE cus_id='1' commit transaction tran_c;
这是一个 SQL Server 的事务语句,它包含以下操作:
1. 使用 `use` 语句指定要操作的数据库为 `20201977岳靖斌`。
2. 开始一个名为 `tran_c` 的事务,使用 `begin transaction` 语句。
3. 查询 `CustomerInfo` 表中 `cus_id` 为 3 且 `cus_age` 大于等于 19 的记录,并返回查询结果。
4. 更新 `CustomerInfo` 表中 `cus_id` 为 3 的记录,将 `cus_age` 减去 10。
5. 使用 `case` 语句进行条件判断,如果查询 `CustomerInfo` 表中 `cus_id` 为 3 且 `cus_age` 等于 10 的记录,则执行 `rollback transaction` 语句回滚事务。
6. 查询 `CustomerInfo` 表中 `cus_id` 为 1 且 `cus_age` 等于 18 的记录,并返回查询结果。
7. 更新 `CustomerInfo` 表中 `cus_id` 为 1 的记录,将 `cus_age` 减去 10。
8. 提交事务,使用 `commit transaction` 语句。
需要注意的是,事务是用来保证一组操作的原子性、一致性、隔离性和持久性的,这里的事务操作应该是一个示例,具体应用场景需要根据实际情况进行调整。
**测试电路** .option post RUNLVL=5 post_version=9601 **控制仿真精度以及仿真版本,不加这个没波形 .option probe post ** 设置波形输出 .option method=trap .option interp .option itl4=100 .option gshunt=1e-10 .option S_RATIONAL_FUNC=0 * DDR数据速率设置 .param bitrate = 10000Meg *数据速率 .param freq_clk = 'bitrate/2' *时钟频率,在DDR中,时钟速率是数据 .param UI_period = '1/bitrate' *每一位码元的时间 .param UI_sample = '100' *每一位码元的采样点,用来计算步长 .param tr=30ps tf=30ps td=0.2ns *上升沿,下降沿,延时 .param UI_num = '100' *总的仿真的码元 .param tran_step = 'UI_period/UI_sample' *仿真的步长 .param tran_stop = 'td+UI_num*UI_period' *总的仿真时间 vnd_en nd_en gnd dc 1.1 ** 电源使能 ********** 链路设置 ************ **输入的ibis模型定义 **只在DQ0端输入信号 bdq0_tx r_pu_dq0 r_pd_dq0 DQ0_Link_in ibis_dq0 nd_en r_OutOfIn_dq0 + file = 'h5cnag4nmjr_zfc.ibs' + model = 'RON34ODTOFF' + ramp_fwf=2 ramp_rwf=2 + typ = typ * endfold **S参数定义 **链路S参数 SLink DQ0_Link_in + DQ0_out ** 13-25为输出引脚 + mname = SLink_model .MODEL SLink_model S + TSTONEFILE = channel.s2p + FBASE=10MEGHZ FMAX=12GHZ **接收端ibis设置 * Rank0 bdq0_rx t_pu_dq0 t_pd_dq0 DQ0_out r_ndrot2rx0 +file = 'h5cnag4nmjr_zfc.ibs' +model = 'RONOFFODT120' +ramp_fwf=2 ramp_rwf=2 +typ = typ *********************仿真设置************************ *边沿输入 .PAT start_PAT=b0 r=1 rb=1 .PAT edge_PAT = b00010 r=0 rb=1 .PAT stop_PAT = b0 r=-1 rb=1 P_DQ0 ibis_dmc gnd port=1 dc=0 z0=50 + PAT(1 0 td tr tf UI_period start_PAT edge_PAT stop_PAT) .tran tran_step tran_stop *********************输出设置************************ .probe tran v(DQ0_out) .end网表解释
这是一个测试电路的网表,用于模拟DDR数据传输过程中的信号变化。其中包含了一些参数的设置,如bitrate、freq_clk、UI_period等,用于描述数据传输速率、时钟频率和码元时间等信息。同时还定义了一些模型,如SLink_model和RON34ODTOFF等,用于描述信号的传输特性和响应等信息。在仿真过程中,使用了边沿输入的方式,通过设置start_PAT、edge_PAT和stop_PAT三个模式来模拟信号的变化情况。最后,使用.probe命令来输出DQ0_out端口的电压变化情况,以便于分析和调试。
阅读全文