- Oracle简单命令
小诚complier
oracle数据库sql
Oracle学习一、数据库的历史1.1数据库的发展人工管理阶段---------->文件系统阶段------------------>数据库系统阶段数据库的核心:数据模型数据库系统阶段发展:一代数据库:层级网状数据库管理系统二代数据库:关系数据库管理系统(RDBMS)三代数据库:有待发展1.2数据库特点1)数据共享2)减少数据冗余度3)数据独立4)数据集中控制5)数据一致性和可维护性,确保数据安全
- Oracle 学习记录总结
我姓叶
sqloracle
Oracle学习记录总结前言SQL执行顺序1、复制表1.1复制表结构和数据1.3只复制表数据2、高级查询之over(partitionby...)2.1row_number()/rank()/dense_rank()over(partitionby...orderby...)2.2min()/max()over(partitionby...)2.3lead()/lag()over(partitio
- Oracle学习笔记——基础一起学 16
感谢各位大佬救我狗命
oracle数据库
--删除重复记录--创建student表createtablestudent(snonumber(6),snamevarchar2(10),sageint);insertintostudentvalues(1,'AA',21);insertintostudentvalues(2,'BB',22);insertintostudentvalues(3,'CC',23);insertintostuden
- Oracle学习笔记二
RainbowZ2
Oracle数据库
Oracle学习笔记二:(1.一个表空间数据文件最大可容32G,使用满后再向里面新增数据会出现错误,需要增加数据文件;(2.增加数据文件:ALTERTABLESPACE表空间名ADDDATAFILE'数据文件存放地址+数据文件名称'size文件大小autoextendon,文件大小最大可设置32G,也就是32768M,最好不要设置32G,电脑配置不好,要跑20分钟左右;(3.设置数据文件自动扩容:
- 2018-08-30-Oracle学习第四天
BALE_11
1、--Sequence序列--如果我们在表中设置了主键,序列可以让主键自动增长。--在Oracle中,我们使用序列来实现主键增长。--在MySql中,我们使用auto_increment关键字来设置即可。--这个序列并不是单独属于某个表的,它是独立的,任何表都可以使用它。--但一般情况下,为了避免数据混乱,我们建议单张表对应一个序列就好。--创建序列的时候,名字不能重复,因为它是一个对象来的。-
- Oracle学习笔记
凯尔萨厮
oracle数据库
简介oracle就一个数据库(不同于mysql)数据库>表空间(用户)>段>区>块表空间>用户>表1.CMD命令1.1数据库启动停止1.1.1数据库服务【计算机>管理>服务】或者【win+r>services.msc】启动停止启动:netstartoracleServiceXE//学习版停止:netstoporacleServiceXEOracleServerORCL:必须启动//学习版本为Ora
- Oracle学习记录——6.Oracle的过程、函数、包、触发器、控制结构、游标、例外
赈川
OralceOracle
文章目录1.PL/SQL块的结构和实例PL/SQL介绍PL/SQLDeveloper2.PL/SQL基础PL/SQL介绍PL/SQL块介绍3.PL/SQL分类——过程、函数、包、触发器过程函数包触发器4.定义并使用常量,复合类型标量类型复合类型参照类型5.PL/SQL的进阶——控制结构(分支,循环,控制)条件分支语句循环语句循环语句——loop循环语句——while循环语句——for顺序控制语句g
- Oracle学习 --B-tree索引
hokool
数据库Oracle
根据实际情况合理使用索引能优化查询速度查询数据大于等于数据量的百分之10就用全表扫描1、索引与表一样,也属于段(segment)的一种。里面存放了用户的数据,跟表一样需要占用磁盘空间。2、索引里的数据存放形式和表里的数据存放形式不一样。通常情况下,索引所占用的磁盘空间要比表要小的多,其主要作用是为了加快对数据的搜索速度,也可以用来保证数据的唯一性。3、从物理上看,索引可以分为:分区和非分区索引、常
- 2018-08-31-Oracle学习第五天
BALE_11
1、--异常处理(了解)--也就是,当发现有异常出现,则捕获提示。--预定义的Oracle异常,有异常名,有错误代码,有异常信息。--非预定义的Oracle异常,有错误代码,有异常信息,但是没有异常名字。--在实际开发中,我们的异常处理,一般情况下都是需要使用Java代码方式来处理。--因为我们学习的Java语言是面向对象的--Oracle数据库其实是一个关系型数据库,如果要操作的话,太麻烦了。-
- 2018-08-29-Oracle学习第三天
BALE_11
1、--多表连接--1)内连接--2)外连接--3)自连接--笛卡尔集(了解)--开发中,需要避免笛卡尔集--如果要避免的话,我们需要包含一个有效连接条件的where子句。--内连接--两个表(连接)中某一数据项相等的连接叫内连接。也叫等值连接。eg:wheretb_stu.clazz_id=tb_clazz.id--内连接的运算顺序--1)参与的数据表(或连接)中的每列与其它数据表(或连接)的列
- Oracle学习II —— Oracle安装
@菜鸟1024
Oracle数据库oracle数据库
Oracle安装安装数据库软件(区别一)下载Oracle11g到本地进行解压如图所示:点击"setup.exe"即可启动安装界面如下图:1.在配置安全更新目录下,电子邮件不需要填写,直接下一步,进入安装选项目录,选择创建和配置数据库单选框。2.然后下一步,进入网格安装选项目录,选择单实例数据库安装。3.点击下一步,进入产品语言目录,选择简体中文,然后下一步进入数据库版本目录,选择企业版。4.下一步
- 【Oracle】Oracle学习笔记
JAVA小摩托不堵车
数据库学习oracle数据库学习
【Oracle】Oracle学习笔记目录【Oracle】Oracle学习笔记P1、Oracle数据库的安装和配置P2、Oracle数据库管理P3-0、初步SQLP3-1、基本SQLSELECT语句课程学习链接:【尚硅谷】Oracle数据库全套教程,oracle从安装到实战应用P1、Oracle数据库的安装和配置服务器端&客户端安装配置、客户端连接服务端。P2、Oracle数据库管理P3-0、初步S
- oracle初步
weixin_43068469
oracleoracle
@ORACLE学习绪论之前培训时学了Oracle,但没有能接受吸收,现在开始再熟悉一下,捡起来。oracle有客户端和服务器,sqlplus是第三方工具。
- Oracle学习笔记03——创建表空间、创建表
月月大王
Oracleoracleorcle创建数据库
在上一篇博客中我创建了一个用户yueyue1.现在我们来创建一个表空间createtablespacetest_tablespacedatafile'D:\Oracle11g\oradata\test\test.dbf'size500m;test_tablespace为表空间的名字,可以自己定义。2.表空间创建好了之后需要将用户的默认表空间改掉alteruseryueyuedefaulttable
- PLSQL(Oracle学习)
weiyu_you
往后余生,请多多指教PL/SQL:是一种程序语言,叫做过程化SQL语言(ProceduralLanguage/SQL)。是Oracle数据库对SQL语句的扩展。特点:在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL只有Oracle数据库有。MySQL目前不支持,MyS
- oracle与mysql语法区别_oracle学习笔记-mysql与oracle语法区别
LESSuseLESS
1、ifelse分支mysql:用elseifOracle:用elsif可以用select直接查看获取的值或者一个变量。1createprocedurepd_testif2(innumint,outstrvarchar)2begin3ifnum=1then4setstr='一';5elseifnum=2then6setstr='二';7endif;8end;9--调用10callpd_testif
- oracle学习笔记(七)分页函数
古城深巷细雨绵
ORACLE学习笔记oracle数据库database
伪列:ROWNUMROWNUM可以做的两件事:取得第一行数据取得前N行的数据注:ROWNUM只能查询第一条数据,如果把ROWNUM=1换成ROENUM=2则无法查询数据。一、简单的分页查询1、使用rownum来实现分页示例:取学生表的前5条数据selectrownum,t.*fromstudent_tabletwhererownum=4结果:二、基于排序的分页示例:获取英语成绩前三的学生数据(思路
- oracle查询分页信息,Oracle学习札记4-稍复杂的查询和分页
小薇酱
oracle查询分页信息
Oracle学习笔记4--稍复杂的查询和分页仍然使用SCOTT用户来操作:1、显示工资比部门30的所有员工的工资都高的员工的信息:Select*fromempwheresal>all(selectsalfromempwheredeptno=30);2、显示工资比部门30的任意一个员工的工资高就可以的员工的信息:Select*fromempwheresal>any(selectsalfromempw
- oracle分页rowid,oracle学习笔记—伪列(ROWNUM,ROWID)ORACLE 分页
Jiangxh1992
oracle分页rowid
ROWNUM:即行号的意思,它为每一列自动生成一个行号(动态生成),并且是依次递增的。即每查一次生成依次。列:SELECTROWNUM,JOB,DEPTNO,FROMEMP;SELECTROWNUM,JOB,DEPTNO,FROMEMPWHERWDEPTNO=20;根据这一特性,在加上子查询,可以实现分页查询分页查询:pageNow:当前页面;pageSize:每页显示几条,查询总条数pageNo
- oracle学习笔记--快速入门
陵先生的笔记本
Javaoracle数据库oracle
【注】本笔记是看完黑马视频后的学习笔记1.创建1.1.创建表空间Createtablespacemytable–创建一个名为mytable的表空间Datafile‘c:\myraclefiel.dbf’–数据存放位置Size100m–表空间大小为100mAutoextendon–自动扩展大小Next10m;–每次拓展10m1.2.删除表空间Deoptablespacemytable1.3.创建用户
- Oracle学习笔记 -分页,存储过程,自增
_changeme
学习笔记javaoracle
Oracled的字段自增,查询,游标的返回,存储过程。1,自增(触发器)//还有一个条件需要增加一个队列createorreplaceTRIGGERMYSYSTEM.CBOUNCEIDBEFOREINSERTONMYSYSTEM.BOUNCERECORDFOREACHROWBEGINselectbounceid(需要自增的字段名字).nextvalinto:new.bounceid(需要自增的字段
- hive/oracle/mysql 窗口函数练习
keikowakana
sqlmysqloraclehive
hive/mysql/oracle学习心得1介绍对比有用的代码片段介绍我在公司长期做oracle开发,最近在学习mysql和hive语法,总结对比由于现在学习的是mysql8,mysql被oracle收购,整体语法也在向oracle语法靠拢hive的语法也看出是在跟随mysql一开始最不能适应的是连接写法,已经习惯了在oracle里写a.id=b.id在mysql里必须写ajoinbon…还有hi
- oracle10 视图建同义词,Oracle学习(10):视图,索引,序列号,同义词
特大号先生
oracle10视图建同义词
Oracle学习(十):视图,索引,序列号,同义词1.知识点:可以对照下面的录屏进行阅读视图,序列,索引,同义词SQL>--视图:虚表SQL>--视图的优点:简化复杂查询,限制数据访问(银行用的多),提供数据的相互独立,同样的数据可以有不同的显示方式SQL>--第一个视图:员工号姓名月薪年薪SQL>createviewview12as3selectempno,ename,sal,sal*12ann
- oracle学习笔记六——查询之子查询
shu2015626
六、子查询1.子查询导入--查询工资比SCOTT高的员工信息--第1步.得到SCOTT的工资SQL>selectsalfromempwhereename='SCOTT';-->结果:3000--第2步.查询比3000高的员工信息SQL>select*fromempwheresal>3000;-->结果:分两步,查询工资比SCOTT高的员工信息--子查询解决的问题:不能一步求解的问题SQL>sele
- oracle学习记录-DML
迷失的小鹿
oracle数据库dba
oracle学习记录-DML简介insert语法插入数据向表中插入空值插入指定的值创建脚本从其它表中拷贝数据update删除数据数据库事务COMMIT和ROLLBACK语句的优点控制事务回滚到保留点事务进程提交或回滚前的数据状态提交后的数据状态提交数据数据回滚后的状态总结constraint(约束)表级约束和列级约束语法NOTNULL约束UNIQUE约束PRIMARYKEY约束FOREIGNKEY
- 数据库oracle学习笔记
struggle_cheng
1/数据库解决的问题是数据的实时性与同步性数据统一管理的问题2/数据:描述事物的符号记录称之为数据3/数据是数据库中存储的基本对象4/数据库是长期存储在计算机内有组织,可共享,的数据集合,数据库一定建立在操作系统之上数据库一定要有磁盘控制5/数据库数据结构化数据共享性6/数据模型概念模型物理模型概念模型:实体属性key表关系:一对一一对多(一个部门多个学生)多对多(学生选课)7/关系数据模型:8/
- oracle学习
希境
oracle学习数据库
删除操作要commit周六、周日不要动数据库提交代码时间:上午9点到下午三点D1BND08AATT_VISIONDL_ONOFF202212050946081202211201.0.4.2022.10.06_betaoracle学习网站:https://www.yiibai.com/oracle/1)dual是Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用,经常当做一个中间表使用2
- oracle学习笔记(个人学习记录)
数据库
数据库导入导出命令使用plSql的tools->exporttables导出.sql文件,tools->importtables选择sql、dmp等格式文件进行导入(.dmp是二进制文件,可跨平台,还包含权限。效率高;.sql文件通用性好,效率不如前者,适合小数据量导入,且不能有大字段(blob、clob、long);.pde是plsql自有的文件格式)连接以左外连接为例,有两种写法,一种同mys
- 05|Oracle学习(UNIQUE约束)
小白鼠零号
数据库oracle学习数据库
1.UNIQUE约束介绍也叫:唯一键约束,用于限定数据表中字段值的唯一性。1.1UNIQUE和primarykey区别:主键/联合主键每张表中只有一个。UNIQUE约束可以在一张表中,多个字段中存在。例如:学生的电话、身份证号都是唯一的。2.添加唯一约束2.1建表时添加2.1.1案例建立个学生信息表,将电话号码设置为唯一约束:createtabletb_students(stu_numchar(5
- 存储过程oracle笔记,Oracle学习笔记——存储过程
追风的树叶
存储过程oracle笔记
存储PL/SQL单元前面对于总结Oracle的文章总结了那么多,重点还是关于Oracle开发的。从今天这篇文章开始,就开始总结存储PL/SQL单元。说到存储PL/SQL单元,很多人就很糊涂,存储PL/SQL单元是什么?说白了,存储PL/SQL单元就是子程序,就是Oracle中的存储过程、函数和包。存储PL/SQL单元有一个名字,我们可以根据这个名字来调用PL/SQL单元。子程序包括存储过程和函数,
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D