Maison base de données tutoriel mysql MySQL里动态视图的实现_MySQL

MySQL里动态视图的实现_MySQL

Jun 01, 2016 pm 01:56 PM
动态 logo 用户

  需求:

  用户为C/S结构,每个用户根据角色不同,能看到不同的数据。系统会根据某个标识生成一个数据内容,然后通过统一的视图来访问。

  要求,不能修改视图,也不能在试图外面再嵌套一层查询。

  设计:

  系统通过某种方法生成一个唯一的ID(可以是应用端,也可以是数据库的uuid),然后将试图与这个id进行关联即可。

  代码:

drop table if exists test;   
create table test (   
    id int not null,   

    name varchar(20) not null  
);   
insert into test values(1,'test1');   
insert into test values(1,'test11');   
insert into test values(1,'test111');   
insert into test values(2,'test2');   
insert into test values(2,'test22');   
drop function if exists getSpid;   
delimiter |   
CREATE function getSpid()   
    RETURNS int  
  RETURN @spid;   
|   
delimiter ;   
drop view if exists v_test;   
create view v_test as   
  select * from test where id=getSpid();   
     
-- 测试代码   
-- 开启session 1  
set @spid=1;   
select * from v_test;   
-- 开启session 2  
set @spid=2;   
select * from v_test;  

  说明:

  将生成的ID保持到session变量里面

  然后建立自定义函数,返回这个变量

  最后在视图里面调用这个函数

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Mar 22, 2024 am 08:40 AM

Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ?

Connectez-vous à Ubuntu en tant que superutilisateur Connectez-vous à Ubuntu en tant que superutilisateur Mar 20, 2024 am 10:55 AM

Connectez-vous à Ubuntu en tant que superutilisateur

Convertir le disque fixe VirtualBox en disque dynamique et vice versa Convertir le disque fixe VirtualBox en disque dynamique et vice versa Mar 25, 2024 am 09:36 AM

Convertir le disque fixe VirtualBox en disque dynamique et vice versa

Explorez le guide Windows 11 : Comment accéder aux dossiers utilisateur sur votre ancien disque dur Explorez le guide Windows 11 : Comment accéder aux dossiers utilisateur sur votre ancien disque dur Sep 27, 2023 am 10:17 AM

Explorez le guide Windows 11 : Comment accéder aux dossiers utilisateur sur votre ancien disque dur

Qu'est-ce que sudo et pourquoi est-ce important ? Qu'est-ce que sudo et pourquoi est-ce important ? Feb 21, 2024 pm 07:01 PM

Qu'est-ce que sudo et pourquoi est-ce important ?

Windows 11 KB5031455 ne parvient pas à s'installer, provoquant d'autres problèmes pour certains utilisateurs Windows 11 KB5031455 ne parvient pas à s'installer, provoquant d'autres problèmes pour certains utilisateurs Nov 01, 2023 am 08:17 AM

Windows 11 KB5031455 ne parvient pas à s'installer, provoquant d'autres problèmes pour certains utilisateurs

Tutoriel : Comment supprimer un compte utilisateur normal dans le système Ubuntu ? Tutoriel : Comment supprimer un compte utilisateur normal dans le système Ubuntu ? Jan 02, 2024 pm 12:34 PM

Tutoriel : Comment supprimer un compte utilisateur normal dans le système Ubuntu ?

Analyse du mécanisme de stockage des mots de passe utilisateur dans le système Linux Analyse du mécanisme de stockage des mots de passe utilisateur dans le système Linux Mar 20, 2024 pm 04:27 PM

Analyse du mécanisme de stockage des mots de passe utilisateur dans le système Linux

See all articles