数据库中的书签游标
游标的引入 为解决在多条结果集的情况下,要逐一读取每一条记录所带来的麻烦。游标为我们提供了一种较好的解决方案。 游标的组成 每一个游标必须有四个组成部分。且必须符合下面的顺序。 1,declare游标(用来声明游标) 2,open游标 3,从一个游标中fetch信
游标的引入
为解决在多条结果集的情况下,要逐一读取每一条记录所带来的麻烦。游标为我们提供了一种较好的解决方案。
游标的组成
每一个游标必须有四个组成部分。且必须符合下面的顺序。
1, declare游标(用来声明游标)
2, open游标
3, 从一个游标中fetch信息
4, Close或deallocate游标
游标的声明
声明游标主要包含以下内容:游标名字,数据来源表和列,选取条件,属性仅读或可修改
其语法格式如下:
Declare 游标名称 cursor
[local|glocal] 指定游标的作用域是局部的还是全局的
[forward_only|scroll] 选择forward_only则游标只能从第一行滚动到最后一行。Scroll表明所有的提取操作都可用,如果不使用该保留字则只能进行next操作。
[read_only] 表明不允许游标内的数据被更新
For 选择语句 是定义结果集的select语句,应该注意的是在游标中不能使用compute等语句。
[for[update[of 字段名称1,字段名称2…]]] 定义在游标中可被修改的列
打开游标
游标声明以后,如果要从游标中读取数据,必须打开游标,使用open命令,语法格式如下:
Open 游标名称
读取游标中的数据——fetch
Fetch
[[next|prior|first|last|absolute{n|@nvar}|relative{n|@nvar}]from]cursor_name
[into @variable_name1,@variable_name2…]
Next:返回结果集中当前行的下一行,并增加当前行数为返回行行数,如果fetchnext是第一次读取游标中数据则返回结果集中的是第一行而不是第二行
Prior:返回结果集中当前行的前一行并减少当前行数为返回行行数。如果fetchprior是第一次读取游标中数据则无数据记录返回并把游标位置设为第一行。
First:返回游标中第一行
Last:返回游标中的最后一行
Absolute{n|@nvar}:如果n或者@nvar为正数,则表示从游标中返回的数据行数。如果n货@nvar为负数,则返回游标内从最后一行数据算起的第n或@nvar行数据。
若n或@nvar超过游标的数据子集范畴,则@@fetch_stars返回-1。在该情况下,如果n或@nvar为负数,则执行fetchnext命令会得到第一行数据,如果为正值,执行fetch prior命令则会得到最后一行数据。n或@nvar可以是一固定值,也可以是一smallint,tinyint或int类型的变量。
Relative {n|@nvar}:若n或@nvar为正数,则读取游标当前位置起向后的第n或@nvar行数据。如果为负数,则读取游标当前位置起向前的第n或@nvar行数据。若n或@nvar超过游标的数据子集范畴,则@@fetch_stars返回-1.在该情况下,如果n或@nvar为负数,则执行fetchnext命令则会得到第一行数据,如果为正值,执行fetch prior命令则会得到最后一行数据。n或@nvar可以是一固定值,也可以是一smallint,tinyint或int类型的变量。
Into@variable_name[,…n]:允许将使用fetch命令读取的数据存放在多个变量中,在变量行中的每个变量必须与游标结果集中相应的列相对应,每一变量的数据类型也要与游标中数据列的数据类型相匹配。
检查游标状态
@@fetch_status:全局变量,返回上次执行fetch命令的状态。在每次用fetch从游标中读取数据时,都应检查该变量以确定上次fetch操作是否成功,来决定如何进行下一步处理。@@fetch_status变量有三种不同的返回值。
0:表示成功取出了一行。
-1:表示未取到数据,因为所要求游标位置超出了结果集
-2:表示返回的行已经不再是结果集的一个成员。这种情况只有在游标不是insensitive的情况下出现,即其他进程已删除了行或改变了游标打开的关键值
编辑当前游标行
进行定位修改或删除游标中数据的语法规则为:
Update table_name 是update或delete的表名
Set column_name1={expression1|null(select_statement)}
[,column_name2={expression2|null(select_statement)}] update的列名
Where current of cursor_name
Delete from table_name
Where current of cursor_name 游标名
举例:更新authors表中的au_lname和au_fname列
首先声明一个游标
Declare authors_cur scroll cursor
For
Select*from authors
for update of au_lname,au_fname
更新
Update authors
Set au_lname=’china’,au_fname=’asia’
Where current of authors_cur
关闭游标
使用close命令关闭游标,在处理完游标中数据之后,必须关闭游标来释放数据结果集合定位于数据记录上的锁,close语句关闭游标但不释放游标占用的数据结构。语法规则为:close游标名称
释放游标
在使用游标时,各种针对游标的操作或者引用游标名或者引用指向游标的游标变量,当close命令关闭游标时并没有释放游标占用的数据结构,因此常使用deallocate命令删除掉游标的游标名或游标变量之间的联系,并且释放游标占用的所用系统资源。语法:deallocate游标名称
注:当若真的完成释放游标的操作,再次使用时,则需重新声明

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go 언어는 효율적이고 간결하며 배우기 쉬운 프로그래밍 언어입니다. 동시 프로그래밍과 네트워크 프로그래밍의 장점 때문에 개발자들이 선호합니다. 실제 개발에서 데이터베이스 작업은 필수적인 부분입니다. 이 기사에서는 Go 언어를 사용하여 데이터베이스 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. Go 언어에서는 일반적으로 사용되는 SQL 패키지, Gorm 등과 같은 타사 라이브러리를 사용하여 데이터베이스를 운영합니다. 여기서는 sql 패키지를 예로 들어 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. MySQL 데이터베이스를 사용하고 있다고 가정합니다.

Hibernate 다형성 매핑은 상속된 클래스를 데이터베이스에 매핑할 수 있으며 다음 매핑 유형을 제공합니다. Join-subclass: 상위 클래스의 모든 열을 포함하여 하위 클래스에 대한 별도의 테이블을 생성합니다. 클래스별 테이블: 하위 클래스별 열만 포함하는 하위 클래스에 대한 별도의 테이블을 만듭니다. Union-subclass: Joined-subclass와 유사하지만 상위 클래스 테이블이 모든 하위 클래스 열을 통합합니다.

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

HTML은 데이터베이스를 직접 읽을 수 없지만 JavaScript 및 AJAX를 통해 읽을 수 있습니다. 단계에는 데이터베이스 연결 설정, 쿼리 보내기, 응답 처리 및 페이지 업데이트가 포함됩니다. 이 기사에서는 JavaScript, AJAX 및 PHP를 사용하여 MySQL 데이터베이스에서 데이터를 읽는 실제 예제를 제공하고 쿼리 결과를 HTML 페이지에 동적으로 표시하는 방법을 보여줍니다. 이 예제에서는 XMLHttpRequest를 사용하여 데이터베이스 연결을 설정하고 쿼리를 보내고 응답을 처리함으로써 페이지 요소에 데이터를 채우고 데이터베이스를 읽는 HTML 기능을 실현합니다.

내 단계는 다음과 같습니다: VSCode의 중국어 인터페이스가 표시되지 않는 문제를 해결하십시오.어떤 사람들은 VSCode를 설치한 후 어떤 언어를 설정하더라도 인터페이스가 항상 상자 또는 잘못된 문자로 표시되어 매우 번거롭다는 것을 발견했습니다. 이는 언어 지원 패키지가 부족하거나 시스템에 글꼴 문제가 있는 경우가 많습니다. 아래에서는 VSCode의 중국어 인터페이스가 표시되지 않는 문제를 해결하는 데 도움이 되는 몇 가지 간단한 해결 단계를 공유하겠습니다. 1단계: 중국어 언어 팩 설치 먼저 VSCode용 중국어 언어 팩을 설치해야 합니다. VSCode를 열고 왼쪽 하단을 클릭하세요.

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

PHP에서 데이터베이스 연결 오류를 처리하려면 다음 단계를 사용할 수 있습니다. mysqli_connect_errno()를 사용하여 오류 코드를 얻습니다. 오류 메시지를 얻으려면 mysqli_connect_error()를 사용하십시오. 이러한 오류 메시지를 캡처하고 기록하면 데이터베이스 연결 문제를 쉽게 식별하고 해결할 수 있어 애플리케이션이 원활하게 실행될 수 있습니다.

Win8 컴퓨터에서 비밀번호를 잊어버린 경우 어떻게 해야 합니까? 쉬운 솔루션! 일상생활에서 우리는 비밀번호를 잊어버리는 상황을 자주 접하게 되는데, 특히 자주 사용하는 컴퓨터에 로그인하는 데 비밀번호가 사용되는 경우에는 더욱 그렇습니다. 특히 Windows 8 운영 체제를 사용하는 컴퓨터 사용자의 경우 비밀번호를 잊어버리면 문제가 발생할 수 있지만 실제로 Win8 컴퓨터 비밀번호를 잊어버리는 것은 해결하기 어려운 문제가 아닙니다. 이 기사에서는 Win8 컴퓨터에서 비밀번호를 잊어버린 문제를 해결하는 데 도움이 되는 몇 가지 방법을 소개합니다.
