bohlinMedlem sedan mars 2000263 inlägg Hej.
Går det i MS Sql Server att ge en tabell ett extra namn, typ ett alias. Det jag vill är följande:
En tabell, tex "Ordrar" ska få ett alias "Orders" så att båda dessa sql:er skulle funka:
delete from Ordrar where id = 1;
delete from Orders where id = 2;
Man kan ju göra en View, men det skulle endast gå att läsa från denna, inte köra insert/update/delete.
Någon som har någon idé?
Vet inte om det hjälper dig, men du kan göra det lokalt per fråga åtminstone. Denna metod är standard (och nödvändig) för self-joins.
delete from Orders where Orders.id = 1;
delete from Orders Ordrar where Ordrar.id = 1;
Om du berättar varför du behöver göra som du föreslår så kanske jag (elelr någon annan) kan tänka ut en bättre lösning.
LarsGMedlem sedan dec. 200012 464 inlägg Förstår inte varför det inte skulle fungera med en vy?
yohpopsMedlem sedan feb. 20011 198 inlägg Får man fråga varför du vill ha det så?
bohlinMedlem sedan mars 2000263 inlägg Hej igen. Här kommer förklaringen till varför jag vill ha det som jag vill ha det!
Jag har ett program som arbetar mot en databas. En ny version av programmet ska utvecklas, och det ska arbeta mot samma databas. Samtidigt som det nya programmet ska utvecklas ska även databasen styras upp, tabeller ska få nya bättre namn. Det jag vill är att båda programmen ska fungera utan att ändra i koden i det gamla programmet.
Det gamla programmet ska köra sin gamla fråga: delete from Ordrar where id = 1;
Det nya programmet ska köra sin fråga mot nya tabellnamnet: delete from Orders where id = 1;
Man skulle kunna göra en helt ny databas till nya programmet, och sen konvertera datan i gamla databasen mot nya, men det är i detta fallet inte en möjlighet, både nya och gamla programmet måste arbeta mot exakt samma databas.
Vyer skulle fungera halv kan man säga. Alla select-satser i gamla programmet skulle funka, men insert/update/delete skulle behöva ändras, vilket är något som jag vill undvika om det är möjligt.
yohpopsMedlem sedan feb. 20011 198 inlägg Skapa vyer för alla select och stored procedures för insert/update/delete.
LarsGMedlem sedan dec. 200012 464 inlägg Du har en tabell som heter ordrar. Du skapar en ny tabell som heter orders, flyttar data från den gamla tabellen, tar bort den gamla tabell och skapar en vy med samma namn definierad med samma kolumner som den gamla tabellen. Sen kan du göra insert/update/delete på din vy. Om du har skillnader i datatyper eller liknande så kan du hantera det i en instead of trigger definierad på vyn.
ercizMedlem sedan maj 20011 826 inlägg Känner igen det där problemet med att man vill förbättra namnen på en databas som är i drift. Snygg lösning med vyer. Finns det nåt liknande sätt att göra med MySQL, tror inte det stödjer vyer än så länge?
LarsGMedlem sedan dec. 200012 464 inlägg Mysql har vyer men inte instead of triggers.
bohlinMedlem sedan mars 2000263 inlägg Att man kunde köra /insert/update/delete på vyer hade jag faktiskt inte en aning om. Tillsammans med Instead of-triggers så löser det mitt problem.
Tack!