1.
Project811 , (. 5)
. 5.
2. (. 6)
. 6.
3. , (. 7)
. 7.
4. . 8. , ( 811). .
. 8. SQL Server Management Studio
5. , , . G_ID811 TAB, SQL server nchar 10 . int 4 , (. 9,. 10)
. 9.
. 10.
+ () .. (increment). (. 11)
. 11.
, NULL . .
. 12
, , Microsoft , .
. sql_variant 7500 . .
(precision) (scale) Decimal.
, , . . , 3647,311 7 ( ) 3 ( ).
, . . , SQL Server , .
|
|
(Null)
Null , , (.. ), . Null .
. (Primary Key). (. 13)
. 13.
6. 811 811 text; NULL , . Description () . (. 14)
. 14. Null 811
2 811 811
(. 15)
. 15. Null 811
c , {XXX} .
{XXX}
{XXX}( ) int,
{XXX}( ) NVARCHAR(50)
{XXX}( ) NVARCHAR (15)
{XXX}( ) NVARCHAR(30)
{XXX}( ) - image
{XXX}
{XXX}( ) int,
{XXX}( ) - NVARCHAR(30)
{XXX}(- ) - tinyint
{XXX}(, ) - tinyint
{XXX}(, ) - tinyint
{XXX}( ) - tinyint
{XXX}( ) - NVARCHAR(100)
{XXX}
G_ID{XXX}( ) - int
{XXX}( ) - tinyint
{XXX}
ID_ ST{XXX} ( ) int,
G_ID{XXX}( ) - int
{XXX}( ) - tinyint
{XXX}( ) - NVARCHAR(50)
{XXX}( ) - Date
{XXX}( ) - NVARCHAR(50)
{XXX}( ) - tinyint
{XXX}
{XXX}( ) int,
{XXX}( ) - NVARCHAR(50)
{XXX}( ) - NVARCHAR(50)
{XXX}( ) - NVARCHAR(50)
{XXX}( ) - int
{XXX}
ID{XXX}( ) int,
G_ID{XXX}( ) int
{XXX}( ) int
{XXX}( ) int
{XXX}( ) - NVARCHAR(10)
{XXX}() tinyint
{XXX}( ) - decimal( 3, 2)
ID{XXX} :
= ,
= 1,
= 1.
{XXX}
ID{XXX}( ) int,
ID ST{XXX}( ) int,
{XXX}() - NVARCHAR(5)
{XXX}( ) Date.
. , , , . , ( 5). :
|
|
Ø - .
Ø - .
Ø .
Ø .
Ø .
, [] in ('3', '4', '5', '') , 5.
16.
3,4,5 . , SQL Server .
, , . , . , , ( ) ( ). 6.
17.
( 7).
18.
:
- .
- , , . , , , .
INSERT UPDATE - , .
Ø - , , :
ü . , , .
ü . , , .
ü NULL. , NULL, NULL.
ü . , , .
Ø - , , .
ü . , , .
ü . , , .
ü NULL. , NULL, NULL.
ü . , , .
8.
19.
( 9).
20.
, :
= ..
= ..
: .. , .. .
: .. , .. NULL.
|
|
: .. , .. .
: = , ..
, .. .
: .. , .. NULL.
: .. , .. NULL.
: .. , .. .
.
, , . , , . , . , . , . T-SQL. - , \\ . , . , ( 10). , . ( 11).
21.
22.
. . SQL .
SQL Server .
, . G_ID, , , , , ID. .
, - . SQL :
SELECT , G_ID
FROM dbo.
WHERE ( NOT IN
(SELECT _1.
FROM dbo. AS _1 INNER JOIN
dbo. AS _1 ON _1.[ID_ ST] = _1.[ID ST]
WHERE (_1. IS NULL)))
. 12.
23.
, \\ , , ( 13). , , .
24.
. . , .
SQL Server - . , . 1 , . , , .. . , , . (.. , \\ , ).
|
|
:
CREATE TRIGGER [ ]
AFTER <>
ON <>
BEGIN
< >
END;
, ( 14).
25.
- . ( 15).
26.
, . , . :
CREATE TRIGGER [ ]
ON [dbo].[]
AFTER INSERT
AS
BEGIN
Insert into [dbo].[] (ID, [ID ST])
select t1.ID, t2.[ID_ ST]
from [dbo].[] t1
cross join
[dbo].[] t2
Left outer join
[dbo].[] t3
ON t1.ID = t3.ID and t2.[ID_ ST] = t3.[ID ST]
Where t1.G_ID = t2.G_ID and t3.ID is null
END
GO
16.
27.
, , . , . :
CREATE TRIGGER [ 2]
ON [dbo].[]
AFTER INSERT
AS
BEGIN
Insert into [dbo].[] (ID, [ID ST])
select t1.ID, t2.[ID_ ST]
from [dbo].[] t1
cross join
[dbo].[] t2
Left outer join
[dbo].[] t3
ON t1.ID = t3.ID and t2.[ID_ ST] = t3.[ID ST]
Where t1.G_ID = t2.G_ID and t3.ID is null
END
GO
, , . . :
CREATE TRIGGER [ ]
ON [dbo].[]
AFTER DELETE
AS
BEGIN
Delete [dbo].[]
where ID = (select ID from deleted)
END
GO
. 3 , , , .
CREATE TRIGGER [dbo].[ ]
ON [dbo].[ ]
Instead of DELETE
AS
set nocount on
BEGIN
delete from [dbo].[] where ID = (select Id from deleted)
END
CREATE TRIGGER [dbo].[ ]
ON [dbo].[ ]
Instead of UPDATE
AS
set nocount on
BEGIN
UPdate [dbo].[]
set [G_ID] = t1.[G_ID], [] = t2.[], [] = t3.[],
[] = t1.[], []=t1.[], []=t1.[]
From ([inserted] t1
left outer join [dbo].[] t2
ON t1. = t2.
left outer join [dbo].[] t3
ON t1. = t3.)
where [dbo].[].[ID] in (select t1.[ID] from inserted)
END
CREATE TRIGGER [dbo].[ ]
ON [dbo].[ ]
Instead of INSERT
AS
set nocount on
BEGIN
Insert INTO [dbo].[]
(G_ID, , , , , )
Select
t1.G_ID, t2., t3., t1., t1., t1.
From [inserted] t1
left outer join [dbo].[] t2
ON t1. = t2.
left outer join [dbo].[] t3
ON t1. = t3.
END
200 , . , , , , . , NULL (NULL 0, .. 0 ).
|
|
. , (.. ).