第09章_存储过程的创建和使用——例题解答

第09章_存储过程的创建和使用——例题解答
第09章_存储过程的创建和使用——例题解答

存储过程的创建和使用

例9-2-1:创建一个名称为“StuInfo”的存储过程,要求完成以下功能:在T_STUDENT 表中查询05541班学生的学号、姓名、性别、出生日期和政治面貌五个字段的内容。

在创建存储过程的窗口中,单击“查询”菜单,选择“指定模板参数的值”,会弹出“指定模板参数的值”对话框。

在“指定模板参数的值”对话框中将“Procedure_Name”参数对应的名称修改为“StuInfo”,单击“确定”按钮,关闭此对话框。在创建存储过程的窗口中将对应的SELECT语句修改为以下程序代码:

Select S_NUMBER AS 学号,

S_NAME AS 姓名,

SEX AS 性别,

BIRTHDAY AS 出生日期,

POLITY AS 政治面貌

FROM T_STUDENT

WHERE LEFT(S_NUMBER,5)='05541'

输入完毕后,单击窗口工具栏上的“执行”按钮执行以上程序段,就会创建一个新的存储过程“StuInfo”。

例9-2-2:创建一个存储过程StuScoreInfo,完成的功能是在表T_STUDENT、表T_COURSE和表t_SCORE中查询以下字段:班级、学号、姓名、性别、课程名称、考试分

SQL Server 2005实用教程

数。

程序清单如下:

--打开STUDENT数据库

USE STUDENT

--查询是否已存在此存储过程,如果存在,就删除它

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'StuScoreInfo' AND type = 'P') DROP PROCEDURE StuScoreInfo

GO

--创建存储过程

CREATE PROCEDURE StuScoreInfo

AS

Select 班级=SUBSTRING(T_STUDENT.S_NUMBER,1,

LEN(T_STUDENT.S_NUMBER)-2),

学号=SUBSTRING(T_STUDENT.S_NUMBER,

LEN(T_STUDENT.S_NUMBER)-1,2), S_NAME AS 姓名,

SEX AS 性别,

T_COURSE.C_NAME AS 课程名称,

t_SCORE.SCORE AS 考试分数

FROM T_STUDENT,T_COURSE,t_SCORE

WHERE T_STUDENT.S_NUMBER=t_SCORE.S_NUMBER

AND T_COURSE.C_NUMBER=t_SCORE.C_NUMBER

GO

第9章存储过程的创建和使用

例9-2-3:创建一个带有参数的存储过程Stu_Info,该存储过程根据传入的学生编号,在T_STUDENT中查询此学生的信息。

程序清单如下:

--删除已存在的存储过程

USE STUDENT

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'Stu_Info' AND type = 'P')

DROP PROCEDURE Stu_Info

GO

--创建存储过程

USE STUDENT

GO

CREATE PROCEDURE Stu_Info

@S_NUMBER varchar(10)

AS

Select 班级=SUBSTRING(T_STUDENT.S_NUMBER,1,

LEN(T_STUDENT.S_NUMBER)-2),

学号=SUBSTRING(T_STUDENT.S_NUMBER,

LEN(T_STUDENT.S_NUMBER)-1,2),

S_NAME AS 姓名,

SEX AS 性别,

BIRTHDAY AS 出生日期,

POLITY AS 政治面貌

FROM T_STUDENT

WHERE S_NUMBER=@S_NUMBER

GO

例9-2-4:创建一个带有参数的存储过程Stu_Age,该存储过程根据传入的学生编号,在T_STUDENT中计算此学生的年龄,并根据程序的执行结果返回不同的值,程序执行成功,返回整数0,如果执行出错,则返回错误号。

SQL Server 2005实用教程

USE STUDENT

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'Stu_Age' AND type = 'P')

DROP PROCEDURE Stu_Age

GO

--创建存储过程

USE STUDENT

GO

CREATE PROCEDURE Stu_Age

@S_NUMBER varchar(10),

@Age int OUTPUT

AS

--定义并初始化局部变量,用于保存返回值

DECLARE @ErrorValue int

SET @ErrorValue=0

--求此学生的年龄

SELECT @Age=YEAR(GETDATE())-YEAR(BIRTHDAY)

FROM T_STUDENT

WHERE S_NUMBER=@S_NUMBER

--根据程序的执行结果返回不同的值

IF (@@ERROR<>0)

SET @ErrorValue=@@ERROR

RETURN @ErrorValue

GO

例9-3-1:执行前面创建的StuInfo存储过程,它是一个无参的存储过程。程序清单如下:

USE STUDENT

EXEC StuInfo

或直接写存储过程的名称:

第9章存储过程的创建和使用

USE STUDENT

GO

StuInfo

例9-3-2:执行存储过程StuScoreInfo。

程序清单如下:

USE STUDENT

EXEC StuScoreInfo

例9-3-3:执行存储过程Stu_Info,该存储过程有一个输入参数“学号”,在执行时需要传入一个学号值。

程序清单如下:

USE STUDENT

SQL Server 2005实用教程

GO

EXECUTE Stu_Info '0554101'

或:

USE STUDENT

GO

EXECUTE Stu_Info @S_NUMBER='0554101'

例9-3-4:执行存储过程Stu_Age,该存储过程有一个输入参数“学号”,另外,还有一个输出参数@Age。存储过程执行完后,有一个返回的状态值,这个值可以从变量@ErrorValue 得到。

程序清单如下:

USE STUDENT

GO

DECLARE @stuAge int,

@ReturnValue int,

@S_NUMBER char(10)

SET @S_NUMBER='0554101'

EXECUTE @ReturnValue=Stu_Age @S_NUMBER,@stuAge OUTPUT

PRINT '本程序的执行结果:'

PRINT '程序的返回值='+CAST(@ReturnValue AS char(2))

PRINT '学号为"'+RTRIM(@S_NUMBER)+'"的学生的年龄是'

+CAST(@stuAge AS char(2))+'岁。'

或:

USE STUDENT

GO

DECLARE @stuAge int,

@ReturnValue int,

@S_NUMBER1 char(10)

SET @S_NUMBER1='0554101'

EXECUTE @ReturnValue=Stu_Age @S_NUMBER=@S_NUMBER1,

@Age=@stuAge OUTPUT

第9章存储过程的创建和使用

PRINT '本程序的执行结果:'

PRINT '程序的返回值='+CAST(@ReturnValue AS char(2))

PRINT '学号为"'+RTRIM(@S_NUMBER1)+'"的学生的年龄是'

+CAST(@stuAge AS char(2))+'岁。'

例9-4-1:使用系统存储过程查看Stu_Age存储过程的参数及其数据类型。

程序清单如下:

--查看参数及其数据类型

USE STUDENT

GO

sp_help Stu_Age

GO

例9-4-2:使用系统存储过程查看StuScoreInfo存储过程的相关的数据库对象。程序清单如下:

--查看相关的数据库对象

USE STUDENT

GO

sp_depends StuScoreInfo

GO

SQL Server 2005实用教程

例9-4-3:修改前面创建的Stu_Info存储过程,使之完成以下功能:根据传入的学号,在表T_STUDENT、表T_COURSE和表t_SCORE中查询此学生的班级、学号、姓名、性别、考试课程名称和考试分数。

程序清单如下:

--修改存储过程

USE STUDENT

GO

ALTER PROCEDURE Stu_Info

@S_NUMBER varchar(10)

AS

Select 班级=SUBSTRING(T_STUDENT.S_NUMBER,1,LEN(T_STUDENT.S_NUMBER)-2), 学号=SUBSTRING(T_STUDENT.S_NUMBER,LEN(T_STUDENT.S_NUMBER)-1,2), S_NAME AS 姓名,

SEX AS 性别,

T_COURSE.C_NAME AS 课程名称,

SCORE AS 考试成绩

FROM T_STUDENT,T_COURSE,t_SCORE

WHERE T_STUDENT.S_NUMBER=@S_NUMBER

AND T_STUDENT.S_NUMBER=t_SCORE.S_NUMBER

AND T_COURSE.C_NUMBER=t_SCORE.C_NUMBER

GO

执行修改后的Stu_Info存储过程:

USE STUDENT

GO

EXEC Stu_Info '0554101'

第9章存储过程的创建和使用

GO

例9-5-1:使用系统存储过程将Stu_Info存储过程的名称修改为Stu_Info_SCORE。程序清单如下:

USE STUDENT

GO

Sp_rename Stu_Info, Stu_Info_SCORE

GO

例9-5-2:使用DROP命令删除StuInfo和StuScoreInfo两个存储过程。

程序清单如下

USE STUDENT

GO

DROP procedure StuInfo, StuScoreInfo

GO

abaqus教程ABAQUS墙体滞回曲线例题

看本例题之前,请务必先找着文献[1]中P75——P101中提供的例题完全照做一遍,以熟悉基本的操作流程。 下面是本例题的操作过程,模拟一片砌体墙片的滞回实验。 第一步:模型部件的建立 进入ABAQUS(中文版),在左方菜单中,选择“部件”,鼠标右键点击一下,选择“创建”,进入模型的部件创建菜单。模型中往往有一个或者多个部件构成。如图1,设定部件名称,其他选项如图1所示。 图1 然后中间的主操作界面出现,如图2。 此平面默认的在平行于计算机显示器的方向为XY平面,我们如图2,按照现实中墙体立面的尺寸画出墙体立面框,然后点击“完成”,弹出的菜单如图3.

图2 图3 此处的“深度”一项就是设定墙体部件的厚度,输入0.24(墙体厚度0.24m),点击确定。于是得到了墙体部件的基本视图如图4所示。 同理,依样设定加载梁的尺寸,得到加载梁部件。 这样,第一步部件尺寸设定就完成了。

图4 第二步:部件使用材料的设定 加载梁使用c50混凝土,砌体使用与实验相对应的材料参数。 由于模拟是针对砌体,所以不考虑加载梁的塑性,因此加载梁只设定密度和弹性。 而砌体则以混凝土塑性损伤本构模型来模拟,要设定密度、弹性、混凝土损伤塑性。 以上内容中混凝土材料参数的设定参见资料[2],砌体材料参数的设定参见资料[3]。 第三步:将材料属性赋予模型 设定了材料参数后,还要对将材料参数“赋予”模型。其操作菜单如图5 图5 首先建立两个界面SECTION-1和SECTION-2如图5左边红框所示,将两种材料(C50混凝

土与砌体材料)“注入”SECTION-1和SECTION-2中,然后点击右边红框中的图标,选择截面所要“赋予”的对象,即可完成材料参数赋予模型的操作。 第四步:安装配件 在第一步谁定好了部件后,实际上部件就像积木玩具的各个零件一样还是零散分开的,这时候,就要使用装配件功能如图6所示。 图6 用得较多的是红框中两个移动功能,非常简单,就是通过在空间坐标系中将部件平移到正确的位置即可。 第五步:设置分析步 在模拟滞回曲线实验的拟静力计算中,因为需要循环加载时反复推拉形成的,所以在模拟的时候需要设定多个分析步。而单纯的静力计算则只需一步就可以完成。 分析步的设定如图7所示,本次模拟一共设定了12个分析步,即表示反复推拉的模拟次数一共12次。 在设定分析步的过程中,将分析步的属性定为“静力、通用”。除了自定义的12步以外,还有ABAQUS默认的不能删除的初始步,是调整结构受力初始状态用的。 第六步:设定约束 这一步实际上是第四步的后续,第四步中我们只是把“积木玩具”完全进行了搭接,而没有进行固定。这一步的作用就是确定“积木玩具”各个分块之间相互作用的属性与关系。 对于实验来说,加载梁是牢牢固定在气体墙之上的,因此新建一个约束,属性选择“绑定”,将加载梁与砌体牢牢固定在一起。

ABAQUS简易培训教材(中文)

ABAQUS 简易教程 一、ABAQUS 公司及产品简介 ABAQUS 是国际上最先进的大型通用有限元计算分析软件之一。ABAQUS 公司成立于1978年,在美国总部的技术开发人员超过160人,其中有70多人具备工程或计算机科学的博士学位,全球技术支持人员超过130人,这可能是世界上最大的计算固体力学团队。 1.1 ABAQUS 产品 ABAQUS/CAE 为ABAQUS 求解器提供 快速交互式的前后处理环境 ABAQUS 的建模、分析、 监测和控制、以及结果评估的完整界面 ABAQUS/Standard 主要用于结构静态、动态线性和非线性分析 耦合分析 ABAQUS/Explicit 瞬态的大变形和高度非线性分析 可以在ABAQUS/Standard 分析结束状态 进行继续分析 1.2 ABAQUS 有限元软件的功能 线性静力学, 动力学, 和热传导 例如 应力, 振动, 声场, 地质力学, 压电效应, 等 汽车、飞机机身等的静力和动力学响应, 结构刚度, 等 非线性和瞬态分析 接触, 塑性失效, 断裂和磨损, 复合材料, 超弹性 等 汽车碰撞, 电子器件跌落, 冲击和损毁等 多体动力学分析 同时结合刚体, 线性柔体, 和非线性柔体模拟各种连接件等 应用在:汽车运动, 高速机械, 微机电系统MEMS, 航空航天机构, 医疗器械, 等 二、ABAQUS 输入文件 2.1 ABAQUS 模型的组件 ABAQUS 的分析模块以批处理的方式运行。分析模块的基本输入为输入文件。在输入文件中包含单元、材料、过程和载荷库等选项。这些选项可以以任意合理的方式组合,所以可以为多种问题建模。输入文件被分为两个部分:模型数据和历程数据。 模型数据 历程数据 几何选项—节点、单元 材料选项 其它模型选项 过程选项 载荷选项 输出选项 2.2 ABAQUS 输入文件的格式 ABAQUS 的输入文件(.inp 文件)包含若干可选的数据块,这些数据块以一个关键字开头,如*PLASTIC 。如果需要的话,数据行将跟在关键字行的后面。所有的输入行长度限制在256字符以内,变量名限制在80字符以内,且必须以字母开始。所有的注释行以**开始,可以放在任意的位置。 关键字行以*开始,后面接关键字,必要的时候可加参数,如:*MATERIAL, NAME=name ,这里,MATERIAL 是关键字,NAME 是参数,name 是你给定的参数值。 数据行用来为给定的选项定义批量数据,如单元的定义: *ELEMENT , TYPE=b21 关键字行

oracle实验--存储过程

实验八存储过程的使用 一、实验目的 1、熟练掌握存储过程的定义及使用 二、实验要求 1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成 实验内容的预习准备工作; 2、能认真独立完成实验内容; 3、实验后做好实验总结,根据实验情况完成实验报告。 三、实验内容 创建图书管理库的图书、读者和借阅三个基本表的表结构: 图书表: BOOK ( BOOK_ID NUMBER(10), SORT V ARCHAR2(10), BOOK_NAME V ARCHAR2(50), WRITER V ARCHAR2(10), OUTPUT V ARCHAR2(50), PRICE NUMBER(3)); 读者表 READER ( READER_ID NUMBER(3), COMPANY V ARCHAR2(10), NAME V ARCHAR2(10), SEX V ARCHAR2(2), GRADE V ARCHAR2(10), ADDR V ARCHAR2(50)); 借阅表 BORROW ( READER_ID NUMBER(3),

BOOK_ID NUMBER(10), BORROW_DA TE DA TE); 插入数据: BOOK表: insert into book values(445501,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445502,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445503,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(332211,'TP5/10','计算机基础','李伟','高等教育出版社',18.00); insert into book values(112266,'TP3/12','FoxBASE','张三','电子工业出版社',23.60); insert into book values(665544,'TS7/21','高等数学','刘明','高等教育出版社',20.00); insert into book values(114455,'TR9/12','线性代数','孙业','北京大学出版社',20.80); insert into book values(113388,'TR7/90','大学英语','胡玲','清华大学出版社',12.50); insert into book values(446601,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446602,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446603,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(449901,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(449902,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(118801,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); insert into book values(118802,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); READER表: insert into reader values(111,'信息系','王维利','女','教授','1号楼424'); insert into reader values(112,'财会系','李立','男','副教授','2号楼316'); insert into reader values(113,'经济系','张三','男','讲师','3号楼105'); insert into reader values(114,'信息系','周华发','男','讲师','1号楼316'); insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224'); insert into reader values(116,'信息系','李明','男','副教授','1号楼318'); insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214'); insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216'); insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318'); insert into reader values(120,'国际贸易','李雪','男','副教授','4号楼506'); insert into reader values(121,'国际贸易','李爽','女','讲师','4号楼510'); insert into reader values(122,'国际贸易','王纯','女','讲师','4号楼512'); insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202'); insert into reader values(124,'财会系','朱海','男','讲师','2号楼210'); insert into reader values(125,'财会系','马英明','男','副教授','2号楼212'); BORROW表:

实验五 存储过程和触发器的定义和使用3

实验五存储过程和触发器的定义和使用 一、实验目的 1、掌握局部变量、全局变量、流程控制语句的使用方法 2、了解存储过程的类型和作用,并掌握使用对象资源管理器和Transact-SQL语句创建 存储过程的方法及使用方法。 3、理解触发器的特点和作用,并掌握使用Transact-SQL语言创建触发器的方法 二、实验内容 1.在学生成绩库中中有如下各表: 学生表(Student) 学号姓名性别出生日期专业所在系联系电话020101杨颖01980-7-20计算机应用计算机88297147 020102方露露01981-1-15信息管理计算机88297147 020103俞奇军11980-2-20信息管理计算机88297151 020104胡国强11980-11-7信息管理计算机88297151 020105薛冰11980-7-29水利工程水利系88297152 020201秦盈飞01981-3-10电子商务经济系88297161 020202董含静01980-9-25电子商务经济系88297062 020203陈伟11980-8-7电子商务经济系88297171 020204陈新江11980-7-20房建水利系88297171 create database学生成绩数据库 create table Student ( 学号Char(6)not null, 姓名Char(8)not null, 性别Bit not null, 出生日期smalldatetime, 专业Char(10), 所在系Char(10), 联系电话Char(11)null ) 课程表(Course) 课程号课程名教师开课学期学时学分 101计算机原理陈红2453 102计算方法王颐3453 103操作系统徐格2604 104数据库原理及应用应对刚3755 105网络基础吴江江4453 106高等数学孙中文1906 107英语陈刚1906 108VB程序设计赵红韦3705

实验六存储过程设计

嘉应学院计算机学院 2012年 12月12日 一、实验目的 通过实验掌握SQL SERVER存储过程的基本设计方法。 二、实验原理 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合,它被编译并存储为一个单一的数据库对象,可用存储过程实现批处理。 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。 游标(Cursor)它使用户可逐行访问由数据库返回的结果集。使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。基本语法: create procedure 存储过程名 (参数表 ) as t_sql语句的集合 t_sql语句除SQL语句外,还可包括声明变量,流控制语句及游标等。 (注意:t_sql语句在不同的数据库系统中,语法不同)

三、实验环境 操作系统:Windows Server 2003 、Windows 7 编译环境:SQL Server Enterprise Manager 数据库管理系统:Microsoft SQL Server 2005 四、实验步骤及内容 1. 了解T_SQL语法 (1)变量 A.局部变量 例如:declare @v_sno nvarchar(20), @v_grade float /* 声明了两个局部变量 */ B.全局变量 如:@@error, @@fetch_status C.表变量 声明表类型变量的语句将该变量初始化为一个具有指定结构的空表。 例如: declare @Mytab table (id int primary key, books varchar(15) ) insert @Mytab values(1,'9901') insert @Mytab values(2,'9902')

6实验六 存储过程

实验六存储过程 一、实验目的 (1)掌握T-SQL流控制语句。 (2)掌握创建存储过程的方法。 (3)掌握存储过程的执行方法。 (4)掌握存储过程的管理和维护。 二、实验内容 1、创建简单存储过程 (1)创建一个名为stu_pr的存储过程,该存储过程能查询出051班学生的所有资料,包括学生的基本信息、学生的选课信息(含未选课同学的信息)。要求在创建存储过程前请判断该存储过程是否已创建,若已创建则先删除,并给出“已删除!”信息,否则就给出“不存在,可创建!”的信息。 if exists(select*from sysobjects where name='stu_pr'and type='P') begin drop procedure stu_pr print'已删除!' end else print'不存在,可创建!' create procedure stu_pr as select distinct*from Student s left join SC on s.Sno=SC.Sno left join Course c on https://www.360docs.net/doc/737856796.html,o=https://www.360docs.net/doc/737856796.html,o where Classno='051'

执行: exec stu_pr 2、创建带参数的存储过程 (1)创建一个名为stu_proc1的存储过程,查询某系、某姓名的学生的学号、姓名、年龄,选修课程名、成绩。系名和姓名在调用该存储过程时输入,其默认值分别为“%”与“林%”。执行该存储过程,用多种参数加以测试。 if exists(select*from sysobjects where name='stu_proc1'and type='P') begin drop procedure stu_proc1 print'已删除!' end else print'不存在,可创建!'

@@ABAQUS CAE典型例题

ABAQUS/CAE典型例题 我们将通过ABAQUS/CAE完成右图的建模及分析过程。 首先我们创建几何体 一、创建基本特征: 1、首先运行ABAQUS/CAE,在出现的对话框内 选择Create Model Database。 2、从Module列表中选择Part,进入Part模块 3、选择Part→Create来创建一个新的部件。在 提示区域会出现这样一个信息。 4、CAE弹出一个如右图的对话框。将这个部件 命名为Hinge-hole,确认Modeling Space、Type和Base Feature的选项如右图。 5、输入0.3作为Approximate size的值。点击 Continue。ABAQUS/CAE初始化草图,并显示格子。 6、在工具栏选择Create Lines: Rectangle(4 Lines) ,在提示栏出现如下的提示后,输入(0.02,0.02)和 (-0.02,-0.02),然后点击3键鼠标的中键(或滚珠)。 7、在提示框点击OK按钮。CAE弹出 Edit Basic Extrusion对话框。 8、输入0.04作为Depth的数值,点击 OK按钮。 二、在基本特征上加个轮缘 1、在主菜单上选择Shape→Solid→Extrude。 2、选择六面体的前表面,点击左键。 3、选择如下图所示的边,点击左键。

4、如右上图那样利用 图标创建三条线段。 5、在工具栏中选择Create Arc: Center and 2 Endpoints 6、移动鼠标到(0.04,0.0),圆心,点击左键,然后将鼠标移到(0.04,0.02)再次点击鼠标左键,从已画好区域的外面将鼠标移到(0.04,-0.02),这时你可以看到在这两个点之间出现一个半圆,点击左键完成这个半圆。 7、在工具栏选择Create Circle: Center and Perimeter 8、将鼠标移动到(0.04,0.0)点击左键,然后将鼠标移动到(0.05,0.0)点击左键。 9、从主菜单选择Add →Dimension →Radial ,为刚完成的圆标注尺寸。 10、选择工具栏的Edit Dimension Value 图标 11、选择圆的尺寸(0.01)点击左键,在提示栏输入0.012,按回车。再次点击Edit Dimension Value , 退出该操作。 12、点击提示栏上的Done 按钮。 13、在CAE 弹出的Edit Extrusion 对话框内输入0.02作为深度的值。CAE 以一个箭头表示拉伸的方向,点击Clip 可改变这个方向。点击OK ,完成操作。 三、创建润滑孔 1、进入Sketch 模块,从主菜单选择Sketch →Create , 命名为Hole ,设置0.2为Approximate Size 的值,点击Continue 。 2、创建一个圆心在(0,0),半径为0.003的圆,然后点击 Done ,完成这一步骤。 3、回到Part 模块,在Part 下拉菜单中选择Hinge-hole 。 4、在主菜单中选择Tools →Datum ,按右图所示选择对 话框内的选项,点击Apply 。 5、选择轮缘上的一条边,见下图,参数的值是从0到1, 如果,箭头和图中所示一样就输入0.25,敲回车,否则就输入 0.75。ABAQUS/CAE 在这条边的1/4处上创建一个点。 6、创建一个基线,在Create Datum 对话框内选择Axis , 在Method 选项中选择2 Points ,点击Apply 。选择圆的中心点和刚才创建的基点,ABAQUS/CAE 将创建如右上图所示的基线。 7、在Create Datum 对话框内选择Plane ,在Method 中选择Point and normal ,点击OK ,选择刚才创建的基点和基线。你的模型将如左下图所示。

实验七 存储过程及应用完整版含截图

实验七存储过程及应用 1.实验目的 1、理解存储过程的概念。 2、掌握存储过程的使用方法。 2.实验要求 1.建立如下的存储过程(基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值): (1)按要求设计完成如下功能的存储过程。 ①查询平均分数在x到y范围内的学生信息。 说明: 该存储过程有两个参数; 要求查询的学生信息包括学号、姓名、院系名称和平均分数。 ②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩。 (2)自行再分别设计一个完成查询和完成操作功能的存储过程(在实验报告中要准确描述功能需求)。 (3)在客户端以存储过程和输入SQL语句的方式分别执行相同的查询或操作,比较使用和不使用存储过程的区别。 3、实验过程 (1)①查询平均分数在x到y范围内的学生信息 create procedure cc711@x smallint,@y smallint as select学生.学号,学生.姓名,院系.名称,学生.平均成绩 from学生join院系on学生.院系=院系.编号 where学生.平均成绩between@x and@y EXECUTE cc71160,90

②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩 create procedure mcc712@xh nchar(8),@kcbh nchar(8),@cj int as update选课set成绩=@cj where学号=@xh and课程编号=@kcbh declare@pjcj int select@pjcj=AVG(成绩)from选课where学号=@xh return@pjcj declare@avg int execute@avg=mcc7122,5,98 print'更新后平均成绩:'+str(@avg,6)

实验6 数据库实验——存储过程和触发器

实验6 存储过程与触发器 一、实验目的 1、加深与巩固对存储过程与触发器概念的理解。 2、掌握触发器的简单应用。 3、掌握存储过程的简单应用。 二、实验内容 一)存储过程: 1、创建一存储过程,求l+2+3+…+n,并打印结果。 CREATE PROCEDURE addresult AS DECLARE @n int=10,/*最后一个数*/ @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 2.调用上面的addresult存储过程,打印l十2+3+…+10的结果。EXEC addresult

3、修改上述存储过程为addresult1,使得@n为输入参数,其具体值由用户调用此存储过程时指定。 CREATE PROCEDURE addresult1 @n int=10 /*最后一个数*/ AS DECLARE @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 4、调用上面修改后的addresult1存储过程,打印l+2+3+…+100的结果。 EXEC addresult1 100 5.修改上述存储过程为addresult2,将@n参数设定默认值为10,并改设@sum为输出参数,让主程序能够接收计算结果。

实验4创建和使用存储过程

实验4创建和使用存储过程 4.1 实验目的 (1)理解存储过程的功能和特点。 (2)学会使用Transact-SQL编写存储过程的方法。 (3)学会如何使用SSMS创建存储过程。 (4)理解可以使用存储过程来完成对数据库的操作。 4.2 实验内容 (1)创建带输入参数的存储过程。 (2)执行所创建的存储过程。 (3)删除所有新创建的存储过程。 4.3.1 创建带输入参数的存储过程 在查询命令窗口中输入创建存储过程的CREATE PROCEDURE语句。 这里创建一个带输入参数的存储过程Stu_Proc1,其中的输入参数用于接收课程号,默认值为c01,然后在SC表中查询该课成绩小于70的学生学号,接着在Student表中查找这些学生的基本信息,包括学号、姓名、性别和系信息, 4.3.2 执行所创建的存储过程 在查询分析器里运行存储过程,输出运行结果。 EXECUTE Stu_Proc1 'c01'

CREATE PROCEDURE Stu_Proc2 @dept char(20) AS select student.sno, sname, https://www.360docs.net/doc/737856796.html,o.credit from student join sc on student.sno=sc.sno join course on https://www.360docs.net/doc/737856796.html,o=https://www.360docs.net/doc/737856796.html,o where student.sdept=@dept 4.3.3 删除新建的存储过程 在查询命令的窗口中输入DROP PROCEDURE语句和所有新创建的存储过程名。DROP PROCEDURE Stu_Proc1

4.3.4 查询学生的学号、姓名、修的课程号、课程名、课程学分,将学生所在系作为输入参数,执行此存储过程,并分别指定一些不同的输入参数值。 4.3.5 查询指定系的男生人数,其中系为输入参数,人数用输出参数返回。

abaqus中的动态分析方法

ABAQUS 线性动态分析 如果你只对结构承受载荷后的长期响应感兴趣,静力分析(static analysis)是足够的。然而,如果加载时间很短(例如在地震中)或者如果载荷在性质上是动态的(例如来自旋转机械的荷载),你就必须采用动态分析(dynamic analysis)。本章将讨论应用ABAQUS/Standard进行线性动态分析;关于应用ABAQUS/Explicit进行非线性动态分析的讨论,请参阅第9章“非线性显式动态分析”。 7.1 引言 动态模拟是将惯性力包含在动力学平衡方程中: +P u M&& I - = 其中 M结构的质量。 u&&结构的加速度。 I在结构中的力。 P 所施加的外力。 在上面公式中的表述是牛顿第二运动定律(F = ma)。 在静态和动态分析之间最主要的区别是在平衡方程中包含了惯性力(M u&&)。在两类模拟之间的另一个区别在于力I的定义。在静态分析中,力仅由结构的变形引起;而在动态分析中,力包括源于运动(例如阻尼)和结构的变形的贡献。 7.1.1 固有频率和模态 最简单的动态问题是在弹簧上的质量自由振动,如图7-1所示。

图7–1 质量-弹簧系统 在弹簧中的力给出为ku ,所以它的动态运动方程为 mu ku P &&+-=0 这个质量-弹簧系统的固有频率(natral frequency )(单位是弧度/秒(rad/s ))给出为 k m ω= 如果质量块被移动后再释放,它将以这个频率振动。若以此频率施加一个动态外力,位移的幅度将剧烈增加,这种现象即所谓的共振。 实际结构具有大量的固有频率。因此在设计结构时,非常重要的是避免使可能的载荷频率过分接近于固有频率。通过考虑非加载结构(在动平衡方程中令0P =)的动态响应可以确定固有频率。则运动方程变为 Mu I &&+=0 对于无阻尼系统,I Ku =,因此有 Mu Ku &&+=0 这个方程的解具有形式为 t i e u ωφ= 将此式代入运动方程,得到了特征值(eigenvalue )问题 K M φλφ= 其中2λω=。 该系统具有n 个特征值,其中n 是在有限元模型中的自由度数目。记j λ是第j 个

数据库技术与应用实验八

实验8 存储过程和触发器 1.实验目的 (1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。 (2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。 (3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。 (4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE 删除存储过程的方法。 (5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER 创建触发器的方法和步骤。 (6)掌握引发触发器的方法。 (7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。2.实验内容及步骤 (1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。 CREATE PROCEDURE letters_print AS DECLARE @count int SET @count=0 WHILE @count<26 BEGIN PRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END 单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。 使用EXECUTE命令执行letters_print存储过程。 (2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。 CREATE PROCEDURE stu_info @name varchar(40) AS SELECT a.学号,姓名,课程编号,分数 FROM student_info a INNER JOIN grade ta ON a.学号= ta.学号 WHERE 姓名= @name 使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。 如果存储过程stu_info执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫平”),如何修改该过程的定义? (3)使用studentsdb数据库中的student_info表、curriculum表、grade表。 ①创建一个存储过程stu_grade,查询学号为0001的学生的姓名、课程名称、分数。

实验五存储过程

--(一)存储过程 --1、.对学生课程数据库,编写三个存储过程,分别完成下面功能: --1)统计某一门课的成绩分布情况,即按照各分数段统计人数。 use StuDB go create procedure tongji as select cno,count(case when grade<60 then 1 end)不及格, count(case when grade<70 and grade>=60 then1 end)及格, count(case when grade<80 and grade>=70 then1 end)中, count(case when grade<90 and grade>=80 then1 end)良, count(case when grade<=100 and grade>=90 then 1 end)优 from sc group by cno go

exec tongji go --2)将学生选课成绩从百分制改为等级制(即A、B、C、D、E五级)。 create procedure dengji as select sc.*,等级评价= case when grade<60 then'E' when grade>=60 and grade<70 then'D' when grade>=70 and grade<80 then'C' when grade>=80 and grade<90 then'B' when grade>=90 and grade<=100 then'A' end from sc go exec dengji go --2、对SPJ数据库,创建一个存储过程 ins_s_count,功能为根据提供的供应商号,供应商名,供应商所在地等信息, --往S表中插入数据,并返回插入该记录之

数据库函数、存储过程实验报告

南京信息工程大学数据库系统实验(实习)报告实验(实习)名称数据库系统实验4 实验(实习)日期2016-6-7 得分指导教师顾韵华 系计软院专业计科年级2014级班次计科 3 班姓名仇彤学号20141308071 一、实验目 1、掌握T-SQL函数及其调用方法。 2、掌握存储过程的定义及执行方法。 3、掌握有参存储过程的定义及执行方法。 4、掌握C#访问数据库的方法。 二、实验内容 1、使用系统函数(DA TEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习") 2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户姓名。 3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。 4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。 5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。 6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回江苏南京的客户编号、姓名、及其订购商品的编号、商品名称和数量,并使用EXEC语句执行存储过程。 7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、姓名、订购数量,并使用EXEC语句执行存储过程。 8、定义存储过程SP_Total,查询指定商品编号的总订购数。并执行该存储过程。 9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。并执行该存储过程。 10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。并执行该存储过程。 11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;若存在,输出1;否则,输出0。并执行该存储过程。 12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;若存在,用输出参数传出1;否则传出0。 三、实验过程与结果 1、使用系统函数(DATEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习") 设计的SQL语句如下: print datediff(d,getdate(),'2020-1-1') 执行结果:

实验八 存储过程和触发器_参考答案

实验八存储过程和触发器 一、目的与要求 1. 正确理解存储过程和触发器的概念、功能和类型; 2. 掌握使用SSMS和T-SQL语句创建和管理存储过程和触发器。 二、上机准备 利用教师提供的XSGL数据库,该库中有3个表:student,course,sc。 三、实验内容 1. 将教师提供的XSGL数据库附加到本地数据库中。 2. 分别使用SSMS和T-SQL语句创建和管理存储过程和触发器。 (1)创建一个存储过程proc_stud_sc_info,查询学号、姓名、性别、系、课程号和成绩等信息。 use xsgl go create procedure proc_stud_sc_info as select student.sno,sname,sex,dept,cno,grade from student left join sc on student.sno=sc.sno go (2)创建一个存储过程proc_stud_info,根据输入的学号,查询学生的基本信息。 use xsgl go create procedure proc_stud_info @sno char(5)='95001' as select * from student where sno=@sno go (3)创建一个存储过程proc_stud_birth_year,根据输入的学生姓名,计算该学生的出生年份。 use xsgl go create procedure proc_stud_birth_year @sname varchar(6)='张立' as select sname,year(getdate())-age as 出生年份 from student where sname=@sname go

实验六-存储过程

实验六、存储过程 一、实验目的 (1)掌握T-SQL流控制语句。 (2)掌握创建存储过程的方法。 (3)掌握存储过程的执行方法。 (4)掌握存储过程的管理与维护。 二、实验内容 1、创建简单存储过程 创建一个名为stu_pr的存储过程,该存储过程能查询出051班学生的所有资料,包括学生的基本信息、学生选课信息(含未选课同学的信息)。要求在创建存储过程前判断该存储过程是否已创建,若已创建则先删除,并给出“已删除!”信息,否则就给出“不存在,可创建!”的信息。

2、创建带参数的存储过程 (1)创建一个名为stu_proc1的存储过程,查询某系、某姓名的学生的学号、姓名、年龄、选修课程名、成绩。系名和姓名在调用该存储过程时输入,其默认值分别为“%”与“林%”。执行该存储过程,用多种参数加以测试。

(2)创建一个名为student_sc的存储过程,可查询出某学号段的同学的学号、姓名、总成绩。(学号起始号与终止号在调用时输入,可设置默认值。)执行该存储过程。 3、创建带输出参数的存储过程 (1)创建一个名为course_average的存储过程,可查询某门课程考

试的平均成绩。总成绩可以输出,以便进一步调用。 (2)创建一执行该存储过程的批处理,要求当平均成绩小于60时,显示信息为:“XX课程的平均成绩为:XX,其平均分未达60分”。超过60分时,显示信息为:“XX课程的平均成绩为:XX”。

4、创建带重编译及加密选项的存储过程 创建一个名为update_sc、并带重编译及加密选项的存储过程,可更新指定学号、指定课程号的学生的课程成绩。(学号、课程号在调用时输入)

abaqus6.12-典型实例分析

1.应用背景概述 随着科学技术的发展,汽车已经成为人们生活中必不可少的交通工具。但当今由于交通事故造成的损失日益剧增,研究汽车的碰撞安全性能,提高其耐撞性成为各国汽车行业研究的重要课题。目前国内外许多著名大学、研究机构以及汽车生产厂商都在大力研究节省成本的汽车安全检测方法,而汽车碰撞理论以及模拟技术随之迅速发展,其中运用有限元方法来研究车辆碰撞模拟得到了相当的重视。而本案例就是取材于汽车碰撞模拟分析中的一个小案例―――保险杠撞击刚性墙。 2.问题描述 该案例选取的几何模型是通过导入已有的*.IGS文件来生成的(已经通过Solidworks软件建好模型的),共包括刚性墙(PART-wall)、保险杠(PART-bumper)、平板(PART-plane)以及横梁(PART-rail)四个部件,该分析案例的关注要点就是主要吸能部件(保险杠)的变形模拟,即发生车体碰撞时其是否能够对车体有足够的保护能力?这里根据具体车体模型建立了保险杠撞击刚性墙的有限元分析模型,为了节省计算资源和时间成本这里也对保险杠的对称模型进行了简化,详细的撞击模型请参照图1所示,撞击时保险杠分析模型以2000mm/s的速度撞击刚性墙,其中分析模型中的保险杠与平板之间、平板与横梁之间不定义接触,采用焊接进行连接,对于保险杠和刚性墙之间的接触采用接触对算法来定义。

1.横梁(rail) 2.平板(plane) 3.保险杠(bumper) 4.刚性墙(wall) 图2.1 碰撞模型的SolidWorks图 为了使模拟结果尽可能真实,通过查阅相关资料,定义了在碰撞过程中相关的数据以及各部件的材料属性。其中,刚性墙的材料密度为7.83×10-9,弹性模量为2.07×105,泊松比为0.28;保险杠、平板以及横梁的材料密度为7.83×10-9,弹性模量为2.07×105,泊松比为0.28,塑形应力-应变数据如表2.1所示。 表2.1 应力-应变数据表 应力210 300 314 325 390 438 505 527 应变0.0000 0.0309 0.0409 0.0500 0.1510 0.3010 0.7010 0.9010 注:本例中的单位制为:ton,mm,s。 3.案例详细求解过程 本案例使用软件为版本为abaqus6.12,各详细截图及分析以该版本为准。3.1 创建部件 (1)启动ABAQUS/CAE,创建一个新的模型数据库,重命名为The crash simulation,保存模型为The crash simulation.cae。 (2)通过导入已有的*.IGS文件来创建各个部件,在主菜单中执行【File】→【Import】→【Part】命令,选择刚刚创建保存的的bumper_asm.igs文件,弹

数据库实验七:存储过程及应用

数据库实验七:存储过程及应用 一、实验目的与要求: 1.实验目的 1.理解存储过程的概念。 2.掌握存储过程的使用方法。 2.实验要求 1.建立如下的存储过程(基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值): (1)按要求设计完成如下功能的存储过程。 ①查询平均分数在x到y范围内的学生信息。 说明: ●该存储过程有两个参数; ●要求查询的学生信息包括学号、姓名、院系名称和平均分数。 ②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考 试成绩,并返回该学生的平均成绩。 ③更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考 试成绩,并返回该学生的平均成绩。 (2)自行再分别设计一个完成查询和完成操作功能的存储过程(在实验报告中要准确描述功能需求)。 (3)在客户端以存储过程和输入SQL语句的方式分别执行相同的查询或操作,比较使用和不使用存储过程的区别。 二、实验内容 1、实验原理 1.创建存储过程的SQL语句的一般格式是: CREATE PROC[edure] [schema_name].procedure-name [; number ] [@parameter data-type [VARYING] [= default ][OUT | OUTPUT],…] AS sql-statement 2.执行存储过程的语句是: [EXECute]

[@<返回状态码> =] <存储过程名> [[@<参数>=]{<值>|@<变量>}…] 或 EXECUTE [@return_status=] [schema_name].procedure-name [; number ] [@parameter =]{value | variable [ OUTPUT]}[,…n] 2、实验步骤与结果 (1)调出SQL Server2005软件的用户界面,进入SQL Server Management Studio。 (2)输入自己编好的程序。 (3)检查已输入的程序正确与否。 (4)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。 (5)输出程序清单和运行结果。 实验程序: create procedure Stu @minmark smallint,@maxmark smallint AS select学生.学号,学生.姓名,院系.名称,平均成绩 from学生join院系 on学生.院系=院系.编号 where平均成绩>=@minmark and平均成绩<=@maxmark execute Stu80,100

相关文档
最新文档