Incorrect syntax near '+'

Zerbias
Дата: 20.01.2009 20:13:18
declare @path nvarchar(10)
select @path = 'F:\restore'
restore database TestDB from disk = @path+'\TestDB.mdf'

Вот тут то и появляется ошибка Incorrect syntax near '+'

В чем причина ?
Senya_L
Дата: 20.01.2009 20:16:36
Zerbias
declare @path nvarchar(10)
select @path = 'F:\restore'
restore database TestDB from disk = @path+'\TestDB.mdf'

Вот тут то и появляется ошибка Incorrect syntax near '+'

В чем причина ?
Не хочет вычисляемых выражений
	SET @name = @DirPathIn + 'Database.bak'
	SET @name1 = @DirPathBase + 'Database.mdf'
	SET @name2 = @DirPathBase + 'Database_log.ldf'
	RESTORE DATABASE [Database] FROM  
	DISK = @name
	WITH  FILE = 1,  
	MOVE N'Database_Data' TO @name1,  
	MOVE N'Database_Log' TO @name2,  NOUNLOAD,  REPLACE,  STATS = 10
Knyazev Alexey
Дата: 20.01.2009 20:23:24
Zerbias
declare @path nvarchar(10)
select @path = 'F:\restore'
restore database TestDB from disk = @path+'\TestDB.mdf'

Вот тут то и появляется ошибка Incorrect syntax near '+'

В чем причина ?


динамический SQL:

declare @path nvarchar(10)
select @path = 'F:\restore'
exec ('restore database TestDB from disk = '''+@path+'\TestDB.mdf''')
pkarklin
Дата: 21.01.2009 08:40:39
ГМ...
declare @path nvarchar(128)
set @path = 'F:\restore' + '\TestDB.mdf'
restore database TestDB from disk = @path
komrad
Дата: 21.01.2009 11:54:57
pkarklin
ГМ...
declare @path nvarchar(128)
set @path = 'F:\restore' + '\TestDB.mdf'
restore database TestDB from disk = @path

+1! ;)
Winnipuh
Дата: 21.01.2009 11:57:13
pkarklin
ГМ...
declare @path nvarchar(128)
set @path = 'F:\restore' + '\TestDB.mdf'
restore database TestDB from disk = @path


э, секундочку, в исходной постановке nvarchar(10)

declare @path nvarchar(10)
Zerbias
Дата: 25.01.2009 19:02:43
Всем спасибо
Проблема решена
Hookis1
Дата: 01.02.2011 10:02:33
$result=mssql_query("
	        SELECT a.skill_id, a.skill_lev, a.subjob_id, b.char_name, b.subjob0_class, b.subjob1_class, b.subjob2_class, b.subjob3_class
	        FROM user_skill as a
	        LEFT JOIN user_data b ON a.char_id = b.char_id
		UNION
	        SELECT L2Z12b c.name
	        FROM l2jz_skills as c
	        LEFT JOIN l2jz_skill_trees d ON c.skill_id = d.skill_id
	        WHERE a.char_id=$char_id ORDER BY a.subjob_id ASC, a.skill_id ASC");

помогите правильно объединить запросы, после выполнения такого запроса выдает ошибку
Warning: mssql_query() [function.mssql-query]: message: Line 6: Incorrect syntax near '.'. (severity 15) in /mssql.php on line 2893
iljy
Дата: 01.02.2011 10:07:47
Hookis1,

SELECT L2Z12b c.name
Это что?
iap
Дата: 01.02.2011 10:09:07
Hookis1,

В каждом SELECTе UNIONа должно быть одинаковое количество полей совместимых типов.
И вот это что такое?
$result=mssql_query("
	        SELECT a.skill_id, a.skill_lev, a.subjob_id, b.char_name, b.subjob0_class, b.subjob1_class, b.subjob2_class, b.subjob3_class
	        FROM user_skill as a
	        LEFT JOIN user_data b ON a.char_id = b.char_id
		UNION
==>	        SELECT L2Z12b c.name
	        FROM l2jz_skills as c
	        LEFT JOIN l2jz_skill_trees d ON c.skill_id = d.skill_id
	        WHERE a.char_id=$char_id ORDER BY a.subjob_id ASC, a.skill_id ASC");
Хоть бы запятую поставили что ли...
И нужен ли UNION? Может, UNION ALL?