Heim Datenbank MySQL-Tutorial 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变量里面

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

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich das Xiaohongshu-Konto, um Benutzer zu finden? Kann ich meine Handynummer finden? Wie verwende ich das Xiaohongshu-Konto, um Benutzer zu finden? Kann ich meine Handynummer finden? Mar 22, 2024 am 08:40 AM

Wie verwende ich das Xiaohongshu-Konto, um Benutzer zu finden? Kann ich meine Handynummer finden?

Melden Sie sich als Superuser bei Ubuntu an Melden Sie sich als Superuser bei Ubuntu an Mar 20, 2024 am 10:55 AM

Melden Sie sich als Superuser bei Ubuntu an

Konvertieren Sie die Festplatte von VirtualBox in eine dynamische Festplatte und umgekehrt Konvertieren Sie die Festplatte von VirtualBox in eine dynamische Festplatte und umgekehrt Mar 25, 2024 am 09:36 AM

Konvertieren Sie die Festplatte von VirtualBox in eine dynamische Festplatte und umgekehrt

Entdecken Sie den Windows 11-Leitfaden: So greifen Sie auf Benutzerordner auf Ihrer alten Festplatte zu Entdecken Sie den Windows 11-Leitfaden: So greifen Sie auf Benutzerordner auf Ihrer alten Festplatte zu Sep 27, 2023 am 10:17 AM

Entdecken Sie den Windows 11-Leitfaden: So greifen Sie auf Benutzerordner auf Ihrer alten Festplatte zu

Was ist Sudo und warum ist es wichtig? Was ist Sudo und warum ist es wichtig? Feb 21, 2024 pm 07:01 PM

Was ist Sudo und warum ist es wichtig?

Die Installation von Windows 11 KB5031455 schlägt fehl, was bei einigen Benutzern zu anderen Problemen führt Die Installation von Windows 11 KB5031455 schlägt fehl, was bei einigen Benutzern zu anderen Problemen führt Nov 01, 2023 am 08:17 AM

Die Installation von Windows 11 KB5031455 schlägt fehl, was bei einigen Benutzern zu anderen Problemen führt

Tutorial: Wie lösche ich ein normales Benutzerkonto im Ubuntu-System? Tutorial: Wie lösche ich ein normales Benutzerkonto im Ubuntu-System? Jan 02, 2024 pm 12:34 PM

Tutorial: Wie lösche ich ein normales Benutzerkonto im Ubuntu-System?

Analyse des Speichermechanismus für Benutzerkennwörter im Linux-System Analyse des Speichermechanismus für Benutzerkennwörter im Linux-System Mar 20, 2024 pm 04:27 PM

Analyse des Speichermechanismus für Benutzerkennwörter im Linux-System

See all articles