Dans mon code ASP, j'exécute parfois des script TSQL du genre :
<%
sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)"
rs.open sql, conn
%>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire
que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma
connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y
ai insérées. Par exemple si je fais en bas de page ASP :
<%
sql = "SELECT id FROM #tmp"
rs.open sql, conn
%>
Suis je sûr de récupérer la valeur "1".
Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP...
Je travaille avec SQL server 2000 et IIS 6
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SQLpro [MVP]
une table temporaire créé avec un seule dièse est locale. Son "vrai" nom n'est d'ailleurs pas celui que vous donnez mais la concaténation du nom donné, d'une série d'underscore et d'un tag numérique qui identifie la session.
Pour le voir : SELECT * FROM tempdb.INFORMATION_SCHEMA.TABLES
Ainsi deux sessions différentes auront deux table temporaires locales différentes.
Si vous voulez des tables temporaires globales, mettez deux dièses dans le nom.
Attention : les objets temporaires ne sont libérés que : 1) par la déconnexion 2) par un ordre DROP de la connexion qui l'a créée. Si vous ne libérer pas ces objets (connexions permanente) vous risquez de saturer la tempdb, puis le disque et enfin le serveur. Dans ce cas vous avez toutes les chances de perdre vos données.
A +
Beedjees a écrit :
Bonjour,
Dans mon code ASP, j'exécute parfois des script TSQL du genre : <% sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)" rs.open sql, conn %>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y ai insérées. Par exemple si je fais en bas de page ASP : <% sql = "SELECT id FROM #tmp" rs.open sql, conn %> Suis je sûr de récupérer la valeur "1". Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP... Je travaille avec SQL server 2000 et IIS 6
Merci
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
une table temporaire créé avec un seule dièse est locale.
Son "vrai" nom n'est d'ailleurs pas celui que vous donnez mais la
concaténation du nom donné, d'une série d'underscore et d'un tag
numérique qui identifie la session.
Pour le voir :
SELECT * FROM tempdb.INFORMATION_SCHEMA.TABLES
Ainsi deux sessions différentes auront deux table temporaires locales
différentes.
Si vous voulez des tables temporaires globales, mettez deux dièses dans
le nom.
Attention : les objets temporaires ne sont libérés que :
1) par la déconnexion
2) par un ordre DROP de la connexion qui l'a créée.
Si vous ne libérer pas ces objets (connexions permanente) vous risquez
de saturer la tempdb, puis le disque et enfin le serveur. Dans ce cas
vous avez toutes les chances de perdre vos données.
A +
Beedjees a écrit :
Bonjour,
Dans mon code ASP, j'exécute parfois des script TSQL du genre :
<%
sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)"
rs.open sql, conn
%>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire
que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma
connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y
ai insérées. Par exemple si je fais en bas de page ASP :
<%
sql = "SELECT id FROM #tmp"
rs.open sql, conn
%>
Suis je sûr de récupérer la valeur "1".
Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP...
Je travaille avec SQL server 2000 et IIS 6
Merci
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
une table temporaire créé avec un seule dièse est locale. Son "vrai" nom n'est d'ailleurs pas celui que vous donnez mais la concaténation du nom donné, d'une série d'underscore et d'un tag numérique qui identifie la session.
Pour le voir : SELECT * FROM tempdb.INFORMATION_SCHEMA.TABLES
Ainsi deux sessions différentes auront deux table temporaires locales différentes.
Si vous voulez des tables temporaires globales, mettez deux dièses dans le nom.
Attention : les objets temporaires ne sont libérés que : 1) par la déconnexion 2) par un ordre DROP de la connexion qui l'a créée. Si vous ne libérer pas ces objets (connexions permanente) vous risquez de saturer la tempdb, puis le disque et enfin le serveur. Dans ce cas vous avez toutes les chances de perdre vos données.
A +
Beedjees a écrit :
Bonjour,
Dans mon code ASP, j'exécute parfois des script TSQL du genre : <% sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)" rs.open sql, conn %>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y ai insérées. Par exemple si je fais en bas de page ASP : <% sql = "SELECT id FROM #tmp" rs.open sql, conn %> Suis je sûr de récupérer la valeur "1". Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP... Je travaille avec SQL server 2000 et IIS 6
Merci
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Racimo
Utiliser les tables temporaires à portée globale OU des tables non temporaire
pour celà utiliser 2 dièses au lieu d'un seul
##temp Cordialement
Racimo "Beedjees" a écrit :
Bonjour,
Dans mon code ASP, j'exécute parfois des script TSQL du genre : <% sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)" rs.open sql, conn %>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y ai insérées. Par exemple si je fais en bas de page ASP : <% sql = "SELECT id FROM #tmp" rs.open sql, conn %> Suis je sûr de récupérer la valeur "1". Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP... Je travaille avec SQL server 2000 et IIS 6
Merci
Utiliser les tables temporaires à portée globale OU des tables non temporaire
pour celà utiliser 2 dièses au lieu d'un seul
##temp
Cordialement
Racimo
"Beedjees" a écrit :
Bonjour,
Dans mon code ASP, j'exécute parfois des script TSQL du genre :
<%
sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)"
rs.open sql, conn
%>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire
que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma
connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y
ai insérées. Par exemple si je fais en bas de page ASP :
<%
sql = "SELECT id FROM #tmp"
rs.open sql, conn
%>
Suis je sûr de récupérer la valeur "1".
Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP...
Je travaille avec SQL server 2000 et IIS 6
Utiliser les tables temporaires à portée globale OU des tables non temporaire
pour celà utiliser 2 dièses au lieu d'un seul
##temp Cordialement
Racimo "Beedjees" a écrit :
Bonjour,
Dans mon code ASP, j'exécute parfois des script TSQL du genre : <% sql = "CREATE TABLE #tmp (id INT PRIMARY KEY) INSERT INTO #tmp(id) VALUES(1)" rs.open sql, conn %>
Or plus loin dans ma page asp, je peux encore accéder à la table temporaire que j'ai créée. Il est vrai que je n'ai pas fait de "DROP TABLE" ni fermé ma connexion "conn"
Je voudrais savoir si je peux réutiliser cette table et les donnés que j'y ai insérées. Par exemple si je fais en bas de page ASP : <% sql = "SELECT id FROM #tmp" rs.open sql, conn %> Suis je sûr de récupérer la valeur "1". Pour info, il peut y avoir plusieurs personnes qui lancent la page ASP... Je travaille avec SQL server 2000 et IIS 6