变量

MySQL存储过程中使用SELECT …INTO语句为变量赋值

為{幸葍}努か 提交于 2020-02-22 05:16:36
使用SELECT …INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT …INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量。SELECT …INTO语句的语法格式如下: SELECT col_name[,...] INTO var_name[,...] table_expr col_name:要从数据库中查询的列字段名; var_name:变量名,列字段名按照在列清单和变量清单中的位置对应,将查询得到的值赋给对应位置的变量; table_expr:SELECT语句中的其余部分,包括可选的FROM子句和WHERE子句。 需要注意的是,在使用SELECT …INTO语句时,变量名不能和数据表中的字段名不能相同,否则会出错。范例语句: create procedure getMsg () Begin declare v_title varchar(30); declare v_content varchar(100); select title,content into v_title,v_content from news where artId=333; End 将变量值返回给调用者 在存储过程中定义的变量,经过一系列的处理之后,结果值可能需要返回给存储过程调用者。那么如何返回呢?方便的做法是使用SELECT语句将变量作为结果集返回

线程安全性-可见性

a 夏天 提交于 2020-02-22 05:05:26
导致共享变量在线程间不可见的原因 线程交叉执行;重排序结合线程交叉执行;共享变量更新后的值没有在工作内存与主存间及时更新 JMM关于synchronized的两条规定 线程解锁前,必须把共享变量的最新值刷新到主内存;线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主存中重新读取最新的值(注意加锁和解锁是同一把锁) 可见性-volatile 通过加入 内存屏障 和 禁止重排序 优化来实现; 对volatile变量写操作时,会在写操作后加入一条store屏障指令,将本地内存中的共享变量刷到之内存; 对volatile变量读操作时,会在读操作前加入一条load屏障指令,从主内存中读取共享变量。 可见性-volatile读 可见性-volatile读 可见性-volatile使用 当变量作为多个线程之间的交流变量 valatile boolean inited = false ; //线程1 context = loadContext ( ) ; inited = true ; //线程2 while ( ! inited ) { sleep ( ) ; } doSomethingWithConfig ( context ) ; 这段代码中,线程1的context=loadContext()和inited=true的操作不一定会按着代码逻辑顺序来的

c语言进阶6-指针

我与影子孤独终老i 提交于 2020-02-22 02:43:27
指针是c语言的一个重要组成部分 是c语言的核心、精髓所在,用好指针可以在c语言编程中起到事半功倍的效果。一方面,可以提高程序的编译效率和执行速度以及实现动态的存储分配;另一方面,使用指针可使程序更灵活,全球表示各种数据结构,编写高质量的程序。 指针是c语言显著的优点之一,其使用起来十分灵活而且能提高某些程序的效率,但是如果使用不当则很容易造成系统错误。许多程序“挂死“往往都是由于错误地使用指针造成的 一、 地址与指针 系统的内存就好比是带有编号的小房间,如果想使用内存就需要得到房间编号。图1定义了一个整型变量i,整型变量需要4个字节,所以编译器为变量i分配的编号为1000~1003. 什么是地址? 地址就是内存区中对每个字节的编号 ,如图1所示的1000/1001/1002和1003就是地址,为了进一步说明来看图2. 内存地址 内容 1000 0 变量i 1004 1 变量j 1008 2 1012 3 1016 4 1020 5 图2所示的1000、1004等就是内存单元的地址,而0、1就是内存单元的内容,换种说法就是基本整型变量i在内存中的地址从1000开始。因为基本整型占4个字节,所以变量j在内存中的起始地址为1004,变量i的内容是0. 那么指针又是什么呢?这里仅将 指针看作是内存中的一个地址,多数情况下,这个地址就是内存中另一个变量的位置,如图3所示。

第八次作业

浪子不回头ぞ 提交于 2020-02-22 02:23:22
一.本次课学习到的知识点: (1)void为不反回结果的函数,且void不能省略,否则默认为int,函数体中没有表达式的return语句,也可省略return. (2)不返回结果的函数在定义、调用、参数传递、函数声明上,思路与以前相同,适用于把一些确定的、相对独立的程序功能封装成函数。 (3)局部变量:定义在函数的内部,且有效作用范局部变量一般定义在函数或复合语句的开始处,围局限于所在的函数内部,形参是局部变量。 (4)不能定义在中间位置。 (5)全局变量:定义在函数外而不属于任何函数的变量。作用范围是从定义开始到程序所在文件结束,他对范围内所有函数都起作用。 (6)全局变量可以定义在程序的头部、也可以定义在两个函数的中间或程序尾部。 (7)自动变量定义形式:auto 类型名 变量表;静态变量定义格式:static 类型名 变量表;静态变量只能用于所定义的函数,而全局变量用于所有函数。 二.实验过程中遇到的问题及解决方法: (1)一些题目依旧不能够正确理解。 (2)全局变量、局部变量、静态变量的异同还不太清楚,存在或多或少的模糊。 解决方法:上网或者翻看书籍,多打几次代码,多做几次练习。 三.心得 其实代码打着打着也就熟练了,也就清楚要怎么做了。 虽然在一些问题上还是不太清晰,如使用函数统计指定数字个数,但是多问问同学或者老师或者是会的一些外援,其实也还是可以解决的。 总的来说

python变量加逗号,的含义

会有一股神秘感。 提交于 2020-02-22 00:24:42
逗号 , 用于生成一个长度为1的元组 >>> (1) 1 >>> (1,) (1,) >>> 1, (1,) 因此需要将长度为1的元组中元素提取出来可以用 , 简化赋值操作 >>> a=(1,) >>> b=a >>> b (1,) >>> b,=a >>> b 1 最后 print 打印变量加 , 实现连续打印不换行的操作在python3中行不通了 Python 3.7.3 (default, Nov 15 2019, 04:04:52) [Clang 11.0.0 (clang-1100.0.33.16)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> for i in range(0,5): ... print(i) ... 0 1 2 3 4 >>> for i in range(0,5): ... print(i,) ... 0 1 2 3 4 来源: https://www.cnblogs.com/azureology/p/12343730.html

Java开发环境部署

筅森魡賤 提交于 2020-02-21 23:48:27
操作系统:win10 64bit eclipse版本:Eclipse Mars (4.5),Eclipse IDE for Java EE Developer Java JDK版本:jdk-7u79-windows-x64 SDK版本:24.4.1版 ADT版本:23.0.4版 1.下载安装java jdk 1.1下载与安装 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK默认安装成功后,会在系统目录下出现两个文件夹,jdk(Java Runtime Environment)&jre(Java Development Kit)。 1.2配置环境变量 文件资源管理器>此电脑>属性,点击左边的“高级系统设置”,出现“系统属性”窗口,在“高级”选项卡下面点击“环境变量”。 需要设置三个系统变量,分别是JAVA_HOME,Path和CLASSPATH。下面是这三个变量的设置方法。 “系统变量”>“新建(W)...”即可设置新的环境变量JAVA_HOME,CLASSPATH 。 “系统变量” >“编辑(I)...”即可修改环境变量Path 。 JAVA_HOME 先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:C:\Program Files\Java\jdk1.7.0_79

Volatile

戏子无情 提交于 2020-02-21 23:44:29
什么是volatile 1.Java语言规范第3版中对volatile的定义如下:   Java编程语言允许线程访问共享变量,为了确保共享变量能够被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。如果一个字段被声明成volatile,Java线程内存模型确保所有线程看到这个变量的值一致。 2.通俗理解:   volatile就是Java的一个关键字,单词volatile本身具有不稳定的意思。volatile关键字表示被修饰的变量的值容易变化,不稳定。volatile变量的不稳定性意味着对这种变量的读和写操作都必须从高速缓存或者主内存中读取,以读取变量相对新的值。 volatile的作用 1.保障读操作、写操作本身的原子性 1. 原理:volatile关键字在原子性方面仅保障对被修饰的变量的读操作、写操作本身的原子性,如果要保障对volatile变量的赋值操作的原子性,那么这个赋值操作不能涉及任何共享变量(包括被赋值的volatile变量本身)的访问。 例子1:num1=num2+1; 如果变量num2也是一个共享变量,那么赋值操作实际上是一个read-modify-write操作。其执行过程中其他线程可能已经更新了num2的值,因此该操作不具备不可分割性,也就不是原子操作。如果变量num2是一个局部变量

Idea快捷键-修改同名变量名

二次信任 提交于 2020-02-21 23:01:59
1.我在网上搜索的时候发现,在IntelliJ Idea 中对某个文件进行修改同名变量操作时涉及的快捷键是 shift + F6 或原链接: (https://www.cnblogs.com/lzeffort/p/8195013.html) Window: Ctrl+Shift+Alt+J Mac: Ctrl+Option+G 第一个shift + F6,好吧,我不太清楚这些在其他电脑行不行,反正在在我的电脑不行(ThinkPad)。 这其中F6在某些笔记本中是亮度调节键来着,例如:ThinkPad。 第二个Window: Ctrl+Shift+Alt+J,这个是对的,同时批量处理多个同名变量,但是我觉得它不太行,因为 他是把所有的与之下相关的字符串都改了。。。 2.所以我觉得用下面这个快捷键会好点。 原链接:(https://www.cnblogs.com/eastwjn/p/10302052.html) ctrl + r ctrl+r表示:当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件。 Window: Ctrl+Shift+Alt+J Mac: Ctrl+Option+G 第一个shift + F6,好吧,我不太清楚这些在其他电脑行不行,反正在在我的电脑不行(ThinkPad)。 来源: https://www.cnblogs.com

C语言I博客作业04

可紊 提交于 2020-02-21 19:53:10
问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9774 我在这个课程的目标是 用for语句对累加类的进行编程 这个作业在那个具体方面帮助我实现目标 累加计算 参考文献 《c语言程序设计》 1.PTA实验作业 1.1 7-2 求奇数分之一序列前N项和 题目内容:计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。 1.1.1数据处理 数据表达:用了整型变量i,n和双精度浮点变量sum,s。 数据处理:数据表达用了sum=1,s=1,s=s+1,sum=sum+1.0/s。数据流程用了for语句。 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 20 sum= 2.479673 等于20 17 sum=2.398434 小于20 27 sum=2.629702 大于20 37 sum=2.787229 大于30 1.1.4 PTA提交列表及说明 1.答案错误:在循环前没有给s赋值。 2.答案错误:在循环前没有给sum赋值。 3.答案错误:循环条件中没有将i赋值为1。 1.2 7-5 求交错序列前N项和 题目内容:计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。计算交错序列 1-2

PEP8 规范

情到浓时终转凉″ 提交于 2020-02-21 18:54:23
PEP8编码规范是一种非常优秀的编码规范,也得到了Python程序员的普遍认可,如果实践中或者项目中没有统一的编码规范,建议尽量遵循PEP8编码规范,当然如果项目中已经有了自身的编码规范,应当优先遵循自身的编码规范,哪怕原先的代码风格在你看来很糟糕,也要尽量与源代码风格保持一致。 原文地址:https://blog.csdn.net/ratsniper/article/details/78954852 ,原文很详细,有代码示例和更多讲解,如果有足够时间,建议阅读原文,这篇笔记只是根据此文来整理了一些常用的点。 一、缩进和对齐 1.语法缩进: 语法上的缩进使用4个空格(参数对齐等不一定要用4个空格),不要混用制表符与空格,Python2程序在命令行运行时,使用-t可以发出制表符与空格混用的警告,而使用-tt就会使这些警告变成错误提示了 2.行宽: 代码行宽限制在79个字符(也可以是99个字符),文档和注释限制在72个字符 3.对齐: 当圆括号、方括号和花括号中的元素需要换行时,元素应该垂直对齐,而且如果下一条语句需要缩进时,比如if的条件语句和要执行的代码块,这些换行的元素应该使用更多的缩进来区分下面的缩进 4.换行: 代码换行时应该优先使用圆括号、方括号和花括号中的隐式续行,视情况使用反斜杠\来进行换行 5.二元运算符: 在二元云算法的换行时推荐以二元运算符作为新行的开始 6