Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

Kak programmno udalit i vosstanovit atribut   Найти похожие ветки 

 
Леван   (2002-12-24 08:49) [0]

Privet masteram! (Sorry za Runglish!)

Podskajite, please, kak programmno (ne ENTERPRISE MANAGER-om)
Udalit i vosstanovit atribut "identity" polia v MS SQL, ne udaliaia i zatem vosstanovlivaia samo pole).
Delo v tom, chto pri "delete from IMIATABLICI vse zapisi udaliaiutsia, no pri posleduiushem INSERT-e pole identity nachinaetsia ne s 1, as poslednego znachenia do udalenia zapisei)
Zaranee blagodariu
Levan


 
Леван   (2002-12-24 10:49) [1]

V dobavlenie k voprosu:
ne xochu ispolzovat :
alter table tablename drop column columnname
alter table tablename add columnname integer identity

potomu, chto
etot columnname ispolzuetsia , kak foreign key v drugix tablicax
a vot esli bi ia mog prosto peresozdat atribut "identity"
bez udalenia COLUMNNAME, to eto bilo bi udobneee!
spasibo


 
ЮЮ   (2002-12-24 10:53) [2]

Esli on ispolzuetsia kak foreign key v drugix tablicax, to kak on mojet nachinaetsia s 1 ???


 
stone   (2002-12-24 10:54) [3]

SET IDENTITY_INSERT tablename ON (OFF)


 
Anatoly Podgoretsky   (2002-12-24 10:56) [4]

Идея сама несколько странная, ну раз не требуется автоинкримент, так зачем его делать


 
Леван   (2002-12-24 11:07) [5]

to stone:
poprobuiu, spasibo
to ЮЮ i to Anatoly Podgoretsky

Delo v tom, chto pri razrabotke prilojenia neskolko raz prixoditsia "vse nachinat snachala" ia ia xochu imet takuiu vozmojnost:
nesmotria na to, podchinennie tablici UJE PUSTI, sql ne
pozvoliaet udalit pole, kotoroe v drugix tablicax ispolzuetsia , kak foreign key. Peresozdavat celikom vse tablici po sxeme:

1.udalit constraint foreign key v podxhinennix tablicax
2. peresoxdavat pole v glabnoi tablice
3. vosstanovit foreign key v podchinennix tablicax

Ne xochetsia
vsem spasibo
levan







 
ЮЮ   (2002-12-24 11:15) [6]

IdentitySeed Property
The IdentitySeed property exposes the initial row value for an identity column.

Applies ToColumn Object


Syntax
object.IdentitySeed [= value]

Parts
object

Expression that evaluates to an object in the Applies To list

value

Long integer greater than or equal to 1

Data Type
Long

Modifiable
Read/write prior to Microsoft® SQL Server™ column creation. Read-only for existing columns.

Prototype (C/C++)
HRESULT GetIdentitySeed(LPLONG pRetVal);

HRESULT SetIdentitySeed(LONG NewValue);



 
Леван   (2002-12-24 11:21) [7]

to ЮЮ:
spasibo. ia toje videl eto v BOOKS of SQL, no, otkrovenno govoria, iz-za moix ogranichennix znanii API
ne smog ispolzovat
kak imenno v delphi napisat eto:
priiamo: "SetIdentitySeed(1);" ?
poprobuiu .
Levan


 
Леван   (2002-12-24 11:30) [8]

to ЮЮ:

k sojaleniu,
IdentitySeed Property
The IdentitySeed property exposes the initial row value for an identity column.
Read/write prior to Microsoft® SQL Server™ column creation.
Read-only for existing columns.
ne proxodit, zaraza :)
levan


 
Леван   (2002-12-24 12:04) [9]

V dobavlenie:
Enterprize Manager v Query Analizer s pomoshiu DESIGN TABLE
zaprosto snimaiu ptichku Identity, coxraniaiu tablicu, zatem zanovo ustanavlivaiu ego i opiat soxraniaiu tablicu. VSE!
Neujeli Delphi ne mojet sdelat to je samoe?


 
stone   (2002-12-24 12:26) [10]


> zaprosto snimaiu ptichku Identity, coxraniaiu tablicu

при этом происходит:
ALTER TABLE table
ALTER COLUMN column data_type

> zatem zanovo ustanavlivaiu ego i opiat soxraniaiu tablicu

ALTER TABLE table
ALTER COLUMN column data_type IDENTITY (1,1)


 
Леван   (2002-12-24 13:11) [11]

to Stone:
interesno i prosto
poprobuiu


 
Леван   (2002-12-24 13:24) [12]

to STONE:

k sojaleniu:

alter table <tablename" alter column <columnname>
new_data_type[(precision, scale)]


mojno tolko zadat novii tip, nmo de dobavit svoistvo "identity"
ZARAZA!!

spasibo, Levan




 
stone   (2002-12-24 13:45) [13]

SET IDENTITY_INSERT table1 ON -- отключает IDENTITY на время выполнения
INSERT INTO [Archive].[dbo].[Table1]([field1])
VALUES(12)
SET IDENTITY_INSERT table1 OFF -- включает IDENTITY


 
Леван   (2002-12-24 13:53) [14]

TO STONE

NET
KOGDA IDENTITY_INSERT=ON, TO V INSERT MOJNO VKLIUCHIT I ZNACHENIE DKIA "IDENTITY" POLIA
NAPRIMER, POLEDNEE ZNACHENIE EST 30
MOJNO INSERT-IT ZNACHENOE 35 (BEZ ETOGO NOVOE ZNACHENIE BILO BI 31)



KOGDA=OFF
, TO V INSERT NELZIA ZADAVAT TAKOE ZNACHENIE
T.E. NELZIA PERECHISLIT V VSTAVLIAEMIX POLIAX IMIA POLIA
"IDENTITY"

MNE KAJETSIA, CHTO YO,CHTO MNE NUJNO, DELAETSIA TOLKO CHEREZ ENTERPRIZE MANAGER, CHTO OCHEN PECHALNO!
LEVAN



 
stone   (2002-12-24 14:01) [15]

при IDENTITY_INSERT=ON можно указывать любые значения поля в любой последовательности, в т.ч. дублирующиеся (если поле не PRIMARY KEY)


 
Леван   (2002-12-24 14:14) [16]

TO STONE:
MOJET BIT, NE PROVERIAL
no, k sojaleniu, mne xotelos bi, xhtobi pri avtomaticheskom dobavlenii stroki v tablicu, gde bi eto v programme ne proisxodilo, esli eta tablica pusta, to pervim znacheniem bilo 1
(a ne znachenie, kotoroe bilo poslednim pered opustosheniem....)
spasbo za soveti, no etot variant ne proshel tak, kak mne xotelos bi

est eshe odna vozmojnost
SELECT TABLE_NAME, IDENT_SEED(TABLE_NAME) AS IDENT_SEED

FROM INFORMATION_SCHEMA.TABLES

no on vozvratit i ne pozvolit pomeniat eto znachenie
nu, spasibo vsem
levan



 
jee   (2002-12-24 14:30) [17]


> stone © (24.12.02 12:26)

написано правильно. что у тебя не работает? Enterprise Manager именно так и включает/выключает identity


 
Леван   (2002-12-24 16:15) [18]

to jee:
ia povtorius, no osmelius napisat eshe raz sintaksis komandi alter table:

alter table <tablename> alter column <columnname>
new_data_type[(precision, scale)]


t.e. mojno tolko zadat novii tip, precision,scale, no nelzia dobavit svoistvo "identity"
imenno ob etom i rugaetsia delphi, esli napisat v sql etu komandu i zapustit na vipolnenie!

kstati, a aokuda vi znaete, chto pri sniatii i ustanovki svoistva "identity" Enterprize Manager imenno tak i postupaet (imenno takoi sql zapros vidaet k baze?)
:)

Levan




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.014 c
7-62862
Oleg_1
2002-11-07 13:11
2003.01.20
Количество обращений к файлу


7-62873
sinner
2002-11-09 04:24
2003.01.20
...нужен нестандартный hard...


4-62919
cult
2002-12-04 13:06
2003.01.20
Где или Как узнать код сообщения?


6-62717
kalishenko stas
2002-11-20 10:53
2003.01.20
IP-адрес по имени хоста


3-62378
Иксик
2002-12-24 11:46
2003.01.20
Кодировка в БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский