Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modification d'enregistrements via Frontpage/ASP

3 réponses
Avatar
Michel
Bonjour,

J'essaye de créer une page avec un tableau pour modifier des enregistrements
dans des tables / vue SQL (via l'éditeur de base de données de Frontpage)
Cela fonctionne très bien si les enregistrements proviennent directement
d'une table indexée ! Mais pas s'ils proviennent d'une vue !
Le problème est que toute ma sécurité est basée sur les vues !

Est-il possible d'indexer une "VUE" sur SQL ?
Comment puis-je faire ?

Merci pour votre aide
Michel

3 réponses

Avatar
Fred BROUARD
une vue n'est "updatatble" que si elle répond à des caractéristiques précises
basé sur le fait de retrouver la ligne et la table sur laquelle repose la ligne.

Voici les principales restrictions :

pas de fonction d'agrégation dans la liste de sélection

pas de clauses TOP, GROUP BY, UNION (sauf si la vue est une vue partitionnée) ni
DISTINCT.

pas de colonne dérivée dans la liste de sélection (par exemple pas de fonction
ou d'opérateur transformant la colonnes)

pas de variable globale

présence d'une table obligatoire

enfin les instructions INSERT / UPDATE doivent être rédigées de manière à
modifier les données d'une seule des tables de base référencées dans la clause
FROM de la vue.
Un ordre SQL DELETE ne peut faire référence à une vue susceptible d'être mise à
jour que si la vue fait référence exactement à une table dans sa clause FROM.

En d'autre terme, le plus simple est d'avoir une vue monotabulaire avec la
colonne clef et sans transformation.

Les vues sont indexables sous certaines conditions maius cela n'a aucune
influence sur leur "updatabilité".

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


Michel a écrit:
Bonjour,

J'essaye de créer une page avec un tableau pour modifier des enregistrements
dans des tables / vue SQL (via l'éditeur de base de données de Frontpage)
Cela fonctionne très bien si les enregistrements proviennent directement
d'une table indexée ! Mais pas s'ils proviennent d'une vue !
Le problème est que toute ma sécurité est basée sur les vues !

Est-il possible d'indexer une "VUE" sur SQL ?
Comment puis-je faire ?

Merci pour votre aide
Michel



Avatar
Michel
Merci pour ton aide,

Mais je n'ai aucun problème pour modifier les enregistrement sur SQL Manager
et directement dans la vue! Donc les records sont bien distincts.
Je n'utilise pas non plus de clause TOP, GROUPE,...
En fait, je n'ai que 2 tables simplement liées
Pour ce qui est des modifications dans les 2 tables en même temps, le
système ne me laisse même pas l'occasion d'éditer le record !

N'y aurait-il pas un autres paramètre ou une autre contrainte ...

Maintenant, la limitation est peut-être à un autre niveau ?

Salutations
Michel

"Fred BROUARD" a écrit :

une vue n'est "updatatble" que si elle répond à des caractéristiques précises
basé sur le fait de retrouver la ligne et la table sur laquelle repose la ligne.

Voici les principales restrictions :

pas de fonction d'agrégation dans la liste de sélection

pas de clauses TOP, GROUP BY, UNION (sauf si la vue est une vue partitionnée) ni
DISTINCT.

pas de colonne dérivée dans la liste de sélection (par exemple pas de fonction
ou d'opérateur transformant la colonnes)

pas de variable globale

présence d'une table obligatoire

enfin les instructions INSERT / UPDATE doivent être rédigées de manière à
modifier les données d'une seule des tables de base référencées dans la clause
FROM de la vue.
Un ordre SQL DELETE ne peut faire référence à une vue susceptible d'être mise à
jour que si la vue fait référence exactement à une table dans sa clause FROM.

En d'autre terme, le plus simple est d'avoir une vue monotabulaire avec la
colonne clef et sans transformation.

Les vues sont indexables sous certaines conditions maius cela n'a aucune
influence sur leur "updatabilité".

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


Michel a écrit:
> Bonjour,
>
> J'essaye de créer une page avec un tableau pour modifier des enregistrements
> dans des tables / vue SQL (via l'éditeur de base de données de Frontpage)
> Cela fonctionne très bien si les enregistrements proviennent directement
> d'une table indexée ! Mais pas s'ils proviennent d'une vue !
> Le problème est que toute ma sécurité est basée sur les vues !
>
> Est-il possible d'indexer une "VUE" sur SQL ?
> Comment puis-je faire ?
>
> Merci pour votre aide
> Michel
>




Avatar
Fred BROUARD
il faut éviter les tables jointes

A +

Michel a écrit:
Merci pour ton aide,

Mais je n'ai aucun problème pour modifier les enregistrement sur SQL Manager
et directement dans la vue! Donc les records sont bien distincts.
Je n'utilise pas non plus de clause TOP, GROUPE,...
En fait, je n'ai que 2 tables simplement liées
Pour ce qui est des modifications dans les 2 tables en même temps, le
système ne me laisse même pas l'occasion d'éditer le record !

N'y aurait-il pas un autres paramètre ou une autre contrainte ...

Maintenant, la limitation est peut-être à un autre niveau ?

Salutations
Michel

"Fred BROUARD" a écrit :


une vue n'est "updatatble" que si elle répond à des caractéristiques précises
basé sur le fait de retrouver la ligne et la table sur laquelle repose la ligne.

Voici les principales restrictions :

pas de fonction d'agrégation dans la liste de sélection

pas de clauses TOP, GROUP BY, UNION (sauf si la vue est une vue partitionnée) ni
DISTINCT.

pas de colonne dérivée dans la liste de sélection (par exemple pas de fonction
ou d'opérateur transformant la colonnes)

pas de variable globale

présence d'une table obligatoire

enfin les instructions INSERT / UPDATE doivent être rédigées de manière à
modifier les données d'une seule des tables de base référencées dans la clause
FROM de la vue.
Un ordre SQL DELETE ne peut faire référence à une vue susceptible d'être mise à
jour que si la vue fait référence exactement à une table dans sa clause FROM.

En d'autre terme, le plus simple est d'avoir une vue monotabulaire avec la
colonne clef et sans transformation.

Les vues sont indexables sous certaines conditions maius cela n'a aucune
influence sur leur "updatabilité".

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


Michel a écrit:

Bonjour,

J'essaye de créer une page avec un tableau pour modifier des enregistrements
dans des tables / vue SQL (via l'éditeur de base de données de Frontpage)
Cela fonctionne très bien si les enregistrements proviennent directement
d'une table indexée ! Mais pas s'ils proviennent d'une vue !
Le problème est que toute ma sécurité est basée sur les vues !

Est-il possible d'indexer une "VUE" sur SQL ?
Comment puis-je faire ?

Merci pour votre aide
Michel










--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************