Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Таблици - SQL Server

Featured Replies

Здравейте !

Искам да попитам има ли начин при записване на данни в таблица

след това да и взема ID - то ?

примерно :

 insert into WorkDays(NameOfDay,[DayOfWeek],StartTime,EndTime)
	    values(@NameOfDay,@DayOfWeek,@StartTime,@EndTime)
	 
   Set @CurrentIDToWorkDay =
   (
	  Select WorkDayID
	  From   WorkDays
	  -- как да взема това ID на което току що съм въвела данни !?!
	  Where   WorkDayID = ?
   )

Благодаря !

Здравейте !

Искам да попитам има ли начин при записване на данни в таблица

след това да и взема ID - то ?

примерно :

insert into WorkDays(NameOfDay,[DayOfWeek],StartTime,EndTime)
		values(@NameOfDay,@DayOfWeek,@StartTime,@EndTime)
	
   Set @CurrentIDToWorkDay =
   (
	  Select WorkDayID
	  From   WorkDays
	  -- как да взема това ID на което току що съм въвела данни !?!
	  Where   WorkDayID = ?
   )

Благодаря !

А как се генерира WorkDayID, какъв е DDL на таблицата?
  • Автор

Ето кода и :

CREATE TABLE [dbo].[WorkDays](
[WorkDayID] [int] IDENTITY(1,1) NOT NULL,
[NameOfDay] [nvarchar](50) NOT NULL,
[DayOfWeek] [date] NOT NULL,
[StartTime] [time](0) NULL,
[EndTime] [time](0) NULL,
CONSTRAINT [PK_WorkTime] PRIMARY KEY CLUSTERED
(
[WorkDayID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

И не зная как да и взема точно това " WorkDayID" (което обясних по горе ),

защото нямам промерно нито едно от полетата и да са уникални(освен "WorkDayID")

и когато имама еднакви данни няма как да взема това " WorkDayID " ,като приравня вс дриги ...

Редактирано от helena 2 3 4 5 1 (преглед на промените)

Ето кода и :

CREATE TABLE [dbo].[WorkDays](
[WorkDayID] [int] IDENTITY(1,1) NOT NULL,
[NameOfDay] [nvarchar](50) NOT NULL,
[DayOfWeek] [date] NOT NULL,
[StartTime] [time](0) NULL,
[EndTime] [time](0) NULL,
CONSTRAINT [PK_WorkTime] PRIMARY KEY CLUSTERED
(
[WorkDayID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

И не зная как да и взема точно това " WorkDayID" (което обясних по горе ),

защото нямам промерно нито едно от полетата и да са уникални(освен "WorkDayID")

и когато имама еднакви данни няма как да взема това " WorkDayID " ,като приравня вс дриги ...

ID-то на последната транзакция можеш да вземеш с

Select max(WorkDayID) From   WorkDays
доколкото разбрах IDENTITY(1,1 стартира последователност от 1 със стъпка едно
  • Автор

ID-то на последната транзакция можеш да вземеш с

Select max(WorkDayID) From   WorkDays
доколкото разбрах IDENTITY(1,1 стартира последователност от 1 със стъпка едно

Да точно така съм го направила (стартира последователност от 1 със стъпка едно) ...

Супер ,мерси много : -)) :wors: :wors: :wors:

Перфектно си става ,просто нз как става ...

Редактирано от helena 2 3 4 5 1 (преглед на промените)

Ако въпросното поле автоматично се инкрементира, то можеш да използваш това: http://dev.mysql.com..._last-insert-id.

Интересна идея, само че трябваше да съобразите че това за което говорим е MSSQL, а не MySQL :)

Трябва ти scope identity инфо тук. Това да вземеш max ID не е добра идея тъй като докато вземеш maxID някой друг може да е вкарал нов запис и ще вземеш грешно ID.

Интересна идея, само че трябваше да съобразите че това за което говорим е MSSQL, а не MySQL :)

Добре, че има и по-съсредоточени хора от мен. Извинявам се за недоглеждането!

П.П. MSSQL обяснява защо гледах малко странно срещу синтаксиса :)

Добре, че има и по-съсредоточени хора от мен. Извинявам се за недоглеждането!

П.П. MSSQL обяснява защо гледах малко странно срещу синтаксиса :)

Случва се на всеки :) И на мен ми е странно, аз съм свикнал повече с оракълските алегории
  • Автор

Трябва ти scope identity инфо тук. Това да вземеш max ID не е добра идея тъй като докато вземеш maxID някой друг може да е вкарал нов запис и ще вземеш грешно ID.

Определено е много вярно !

Благодаря !!!

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.