数据库中的书签游标
游标的引入 为解决在多条结果集的情况下,要逐一读取每一条记录所带来的麻烦。游标为我们提供了一种较好的解决方案。 游标的组成 每一个游标必须有四个组成部分。且必须符合下面的顺序。 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游标名称
注:当若真的完成释放游标的操作,再次使用时,则需重新声明

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

Apakah yang perlu saya lakukan jika saya terlupa kata laluan saya pada komputer Win8 saya? Penyelesaian mudah! Dalam kehidupan seharian, kita sering menghadapi situasi di mana kita terlupa kata laluan, terutamanya apabila kata laluan digunakan untuk log masuk ke komputer yang kita kerap gunakan Situasi ini lebih biasa. Terutama bagi pengguna komputer yang menggunakan sistem pengendalian Windows 8, melupakan kata laluan boleh menyebabkan beberapa masalah, tetapi sebenarnya, melupakan kata laluan komputer Win8 bukanlah masalah yang sukar untuk diselesaikan. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah terlupa kata laluan pada komputer Win8 untuk membantu anda menanganinya dengan mudah.

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u
