check 函数有关的流程图


create or replace function check(
  v_s_date in DATE,
  v_amount in NUMBER,
  v_start_date in DATE,
  v_req_no in NUMBER,
  v_end_date in DATE
) Return char is Result char(100);
total_get number(12,4); --已到款总金额
tproj_amt number(12,4);--批准金额
vamount  number(12,4);--本次到款总金额
Begin
  --请自行编辑函数体
  Result :='pass';

  vamount:=v_amount*10000;

  if rtrim(v_req_no) is null then
  Result :='请选择一个项目';
   Return Result;
  end if;

  if  rtrim(v_req_no) is not null then

  select sum(amount) into total_get from prj_income
  where trim(req_no)=trim(v_req_no);

  select proj_amt into tproj_amt from proj_info_h
  where trim(req_no)=trim(v_req_no);

  if total_get>=tproj_amt then
    Result :='此项目所有款项已到';
    Return Result;
  end if;

  if (total_get+vamount)>tproj_amt or vamount > tproj_amt then
    Result :='到款总额不能超过项目批准金额';
    Return Result;
  end if;

  end if;

--到款日期不能超过项目结束日期,不能早于项目开始日期
  if v_s_date>v_end_date then
    Result :='到款日期不能超过项目结束日期';
    Return Result;
  end if;

  if v_s_date<v_start_date then
    Result :='到款日期不能早于项目开始日期';
    Return Result;
  end if;

  Return Result;
End;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
javascript函数的解释,解释了具体函数的功能,一、函数JavaScript函数集合 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用+号. 12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用:var来进行声明 14.JS中的判断语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状态栏的设置:window.status="字符"; 21.弹出提示信息:window.alert("字符"); 22.弹出确认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href="URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符:+= 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i<form.elements.length;i++){ if (form.elements[i].type == "text"){ form.elements[i].value = ""; } } 31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE) 32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length 33.单选按钮组判断是否被选中也是用checked. 34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值) 35.字符串的定义:var myString = new String("This is lightsword"); 36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase(); 37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. 38.取字符串中指定位置的一个字符:StringA.charAt(9); 39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); 40.数学函数:Mat
《数据库原理与应用》课程设计 题 目: 实验选课系统数据库设计 系 别: 专业(含班级): 学 号: 姓 名: 指导教师: 职称 填表日期: 年 月 日 一、选题依据和意义 实验选课系统作为教学过程中一个不可或缺的环节,是为了更好地管理实验选课信息而 建立的。该系统可以让选课信息更加规范化、系统化、程序化,避免选课系统的随意性 ,提高信息处理的速度和准确性,能够及时、准确、高效的查询或修改实验选课信息。 加上局域网的开放,更为学生选课带来很大的便捷,学生可通过校园网进行选课,增加 选课的灵活性,提高了学校选课工作的效率,教务处的教师可以依据选课系统对选课信 息进行合理的管理,为广大师生及相关工作人员节省了时间。 二、需求分析 1.需求调查与分析 随着信息技术的发展、局域网的应用和数据的逐渐增多,近年来,人们逐渐用网络 信息管理系统代替人工对管理的信息。高校也逐渐用选课系统代替人工的选课已增加选 课的系统化、规范化、灵活性,提高选课的效率和对选课信息的管理效率。 2.业务流程图: 从教师开课开始,经过教务处的审核之后,教务处结合实验室的相关信息整理出有效 的课程提供给学生们进行选择。 图1:实验选课系统业务流程图 三、概念结构设计 概念结构设计的含义:将需求分析得到的用户需求抽象为信息结构即概念模型的过程 。它是整个数据库设计的关键。 本设计由上面的实验选课系统业务流程图抽象(分类、聚集、概括)可得到实验选课 系统的概念模型,用如下E-R图表示: 图2:实验选课系统E-R图 四、逻辑结构设计: 根据实验选课系统E-R图和以下转换规则可得选课系统的关系模式。 转换规则: 1、一个实体型转换为一个关系模式 2、实体型间的联系有以下几种: (1)1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 ; (2)1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并; (3)m:n(3个或3个以上)联系转换为一个关系模式。与该联系相连的各实体的码及联 系本身的属性均转换为关系的属性; (4)具有相同码的关系模式可合并。 1.实验选课系统关系模式: 如图2所示,按照上面的转换规则,可得实验选课系统的关系模式如下: (1)教师(教师号,姓名,密码,性别,年龄,系别,职称,电话); (2)课程(课程号,课程名,学时,学分,实验室编号); (3)学生(学号,姓名,密码,性别,年龄,系别,班级); (4)实验室(实验室编号,实验室名称,地点,电话); (5)开课(教师号,课程号,时间); (教师号,课程号)分开为外键 (6)选修(学号,课程号,成绩); (学号,课程号)分开为外键 2. 数据库关系图: 按照上面得出的实验选课系统关系模式,创建数据库syxk,并建立与关系模式对应的 数据表,并建立各表之间的关系,可得实验选课系统的数据库关系图如下: 图3:实验选课系统关系图 3.视图设计 视图是从一个或几个基本表(或视图)导出的表(虚表),数据库中只存放视图的定 义,而不存放视图对应的数据,这些数据仍放在原来的基本表中,所以,当基本表中的 数据变化时,视图中的数据也会发生变化。也可把视图看做一个窗口,通过它可看到自 己感兴趣的数据及其变化。 视图定义后也可以对其进行更新(增、删、改),也可在一个视图上再定义新的视图 ,但对视图的更新(增、删、改)有一定的限制。 视图的作用: 1、能够简化用户的操作。用户可将注意力集中在自己所关心的数据上; 2、使用户能以多种角度看待同一数据; 3、对重构数据库提供了一定程度的逻辑独立性; 4、能够对机密数据提供安全保护; 5、适当的利用视图可以更清晰的表达查询。 下面针对本设计,即实验选课系统定义了几个视图: (1)功能:建立信息系学生的视图,并要求进行修改和插入操作时仍需要保证该视图 只有信息系的学生 代码: create view is_student as select sno,sname,age from student where dept='信息系' with check option (2)功能:建立student表中所有女生记录的视图 代码: create view F_student as select * from student where sex='女' 4.函数设计 定义函数并编译存在数据库的服务器中,使应用程序可以直接调用编译好的函数,提高 计算机计算效率,节省时间。 (1)功能:按课程号查询选修该课程同学的平均成绩 代码: create function get_avg(@cno char(10)) returns int as begin declare @temp int select @temp=avg(degree) from sc whe
好的,我会根据你的要求画一个长整数处理的各个功能函数程序流程图。以下是程序流程图的示例: ``` +-------------------------------------------+ | Main Function | +-------------------------------------------+ | | | 1. Read input numbers | | 2. Choose operation | | 3. Call corresponding function | | | +-------------------------------------------+ +-------------------------------------------+ | Addition Function | +-------------------------------------------+ | | | 1. Initialize carry bit to zero | | 2. Loop through each digit of both numbers | | 3. Add the corresponding digits | | 4. Add the carry bit | | 5. Check if the result is greater than 10 | | 6. Set carry bit if result is greater than 10 | | 7. Store result in output variable | | 8. Return output variable | | | +-------------------------------------------+ +-------------------------------------------+ | Subtraction Function | +-------------------------------------------+ | | | 1. Initialize borrow bit to zero | | 2. Loop through each digit of both numbers | | 3. Subtract the corresponding digits | | 4. Subtract the borrow bit | | 5. Check if the result is negative | | 6. Set borrow bit if result is negative | | 7. Store result in output variable | | 8. Return output variable | | | +-------------------------------------------+ +-------------------------------------------+ | Multiplication Function | +-------------------------------------------+ | | | 1. Initialize result to zero | | 2. Loop through each digit of second number| | 3. Multiply the first number with the digit| | 4. Add the result to the previous result | | 5. Store result in output variable | | 6. Return output variable | | | +-------------------------------------------+ +-------------------------------------------+ | Division Function | +-------------------------------------------+ | | | 1. Initialize quotient and remainder to zero| | 2. Loop through each digit of dividend | | 3. Shift remainder left by one position | | 4. Add the next digit to remainder | | 5. If remainder is greater than divisor, | | subtract divisor from remainder | | and set corresponding bit in quotient. | | 6. Store quotient and remainder in output | | variables | | 7. Return output variables | | | +-------------------------------------------+ ``` 请注意,这只是一个示例程序流程图,实际的程序流程图可能会根据实际需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值