Решение: Сама функция: CREATE FUNCTION SalesByStore (@id int) RETURNS TABLE AS RETURN (SELECT * FROM bsh_products WHERE partID=@id) Вызов: ALTER PROCEDURE [dbo].[tst_Proc1] AS SET NOCOUNT ON SELECT * FROM SalesByStore(4)
Как извлекать данные о таблицах и столбцах
Решение: sp_columns ‘as_menuRoles’ SELECT * FROM syscolumns sc JOIN sysobjects so ON sc.id = so.id WHERE so.Name = ‘as_menuRoles’ select * from sysobjects so WHERE so.Name = ‘as_menuRoles’ ———— — […]
Как делать массовую загрузку
Решение: db.ExecuteStoreCommand(string.Format(@” BULK INSERT [{1}] FROM ‘{0}’ WITH ( DATAFILETYPE = ‘widechar’, FIELDTERMINATOR = ‘|’, ROWTERMINATOR = ‘\n’ );”, p,tablename) p – это полный путь к файлу. В нем через […]
Как делать бекап базы на сервере
Решение: db.ExecuteStoreCommand(string.Format(@” BULK INSERT [{1}] FROM ‘{0}’ WITH ( DATAFILETYPE = ‘widechar’, FIELDTERMINATOR = ‘|’, ROWTERMINATOR = ‘\n’ );”, p,tablename) p – это полный путь к файлу. В нем через […]
Как вставлять в базу значения первичного ключа (id)
Решение: использование SET IDENTITY_INSERT testIdentity ON; USAGE-HOW-TO: CREATE TABLE testIdentity (id int IDENTITY (1,1), name nvarchar(100)); INSERT INTO testIdentity(name) VALUES (‘name1’); e Row will be (1, name1) INSERT INTO testIdentity(name) […]
SQL. Как выбрать товары, которые покупают с этим товаром?
Решение: SELECT od2.ProductID, COUNT(od2.ProductID) AS Rank FROM OrderDetail od1 JOIN OrderDetail od2 ON od1.OrderID = od2.OrderID WHERE od1.ProductID = 4 AND od2.ProductID != 4 GROUP BY od2.ProductID ORDER BY Rank […]
Вставка if прямо в запрос
Решение: SELECT Col1, Col2, CASE WHEN Col1=’AAA’ THEN Col2 WHEN Col1=’BBB’ THEN Col2*2 ELSE NULL END AS Col3 FROM …
Восстановление без бэкапа (резервной копии). Как узнать имя файлов.
Решение: Restore HEADERONLY From Disk=’C:\temp\topticket.bak’ RESTORE DATABASE rudenAS FROM DISK = ‘C:\temp\topticket.bak’ WITH REPLACE, MOVE ‘topticket’ TO ‘C:\DBs\rudenAS.mdf’, — путь где храниться будет база MOVE ‘topticket_log’ TO ‘C:\DBs\rudenAS.ldf’ Узнать файлы […]
Раздел для программистов: @identity совместно с триггерами не работает. Решение проблемы.
Решение: использовать output declare @ordID int DECLARE @MyNewIdentityValues table(myidvalues int) insert into attr107(objectClassID, p541, p542, p545) output inserted.ObjectID into @MyNewIdentityValues values(107, (select objectID from attr100 where p495=7002), getdate(), 1); select […]