设为首页收藏本站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3355|回复: 0
打印 上一主题 下一主题

传奇3SQL处理脚本教程

[复制链接]

5

主题

7

帖子

29

积分

新手上路

Rank: 1

积分
29
跳转到指定楼层
楼主
发表于 2020-8-14 08:47:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 方先生 于 2020-8-14 08:50 编辑

操作sql脚本需要简单的数据库基础,可以先去搜索学习一下。

基础知识: 
1、A0-A9 为字符型变量,可保存数字但不能直接用于inc dec运算
2、%A0-%A9 为变量的值
3、D0-D9 为数字型变量,可直接用于inc dec运算
4、%D0-%D9 为变量的值
5、字符型变量还有 B0-B9
6、数字型变量还有 P0-P9 N0-N9 S0-S9
7、%USERID为当前执行脚本的角色ID
8、%USERNAME为当前执行脚本的角色名

案例说明
(1)
FormatStr "FLD_USERID='%s'" %USERID
(这里相当于把%USERID送进字符串,结果是字符串,保存在A9)
ReadValueSql "TBL_RELATPOINT" %A9 "FLD_USERID,FLD_POINT,FLD_OK" [@段]
(%A9 指的是上面的Formatstr语句执行结果 这里 %A9 为SQL执行语句的条件)
上面用MSSQL解释为:SELECT FLD_USERID,FLD_POINT,FLD_OK WHERE FLD_USERID='%USERID'

(2)
FormatStr "FLD_USERID='%s'" %USERID
(这里相当于把%USERID送进字符串,结果是字符串,保存在A9)
mov    A0  %A9
(把上面赋值的字符串%A9赋值进A0)
UpdateValueSql "TBL_RELATPOINT" %A0 "FLD_OK=0"
         (表名     条件 改变语句)
上面用MSSQL解释为: UPDATE TBL_RELATPOINT SET FLD_OK=0 WHERE FLD_USERID='%USERID'

(3)
FormatStr "FLD_USERID='%s'" %USERID
(这里相当于把%USERID送进字符串,结果是字符串,保存在A9)
mov  A6 %A9
(把上面赋值的字符串%A9赋值进A6)
mov  D8 0
(D8赋值为0)
FormatStr "FLD_POINT='%s'" %D8 ---------------------------(程序A)
(这里相当于把%D8送进字符串,结果是字符串,保存在A9)
UpdateValueSql "TBL_RELATPOINT" %A6 %A9
(表名 条件 改变语句)
这里的%A9为 "FLD_POINT=0" 即(程序A)运行所保存的结果A9 --改变语句
这里的%A6为 "FLD_USERID='%USERID'"  --条件

(4)
mov A1  %USERNAME
(取当前执行脚本的角色名,保存在A1  ,假设A1='张三')
mov D0  1
(相当D0=1)
FormatStr "FLD_CHARACTER='%s' AND FLD_TYPE='%s'" %A1 %D0
(运行后字符串为  FLD_CHARACTER='张三' AND FLD_TYPE='1')
不用说他的功能了吧,当然可以把条件改成两个AND,三个AND,的多重条件







分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|黑金论坛    

GMT+8, 2024-5-2 06:45 , Processed in 0.225494 second(s), 26 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.