# پایگاه‌های داده > SQL Server >  دستور اینسرت شرطی

## faramarz_s

برای اینکه داده ای را  در دیتابیسی به صورت زیر اینزرت کنیم چه تغییراتی باید در کوئری بدهم؟
if exists &#40;select * from dbo.sysobjects where id = object_id&#40;N'&#91;dbo&#93;.&#91;image&#93;'&#41  ; and OBJECTPROPERTY&#40;id, N'IsUserTable'&#41; = 1&#41;
drop table &#91;dbo&#93;.&#91;image&#93;
GO

CREATE TABLE &#91;dbo&#93;.&#91;image&#93; &#40;
	&#91;img_pk&#93; &#91;int&#93; NOT NULL ,
	&#91;img_name&#93; &#91;nvarchar&#93; &#40;50&#41; COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	&#91;img_data&#93; &#91;image&#93; NULL ,
	&#91;img_contenttype&#93; &#91;nvarchar&#93; &#40;50&#41; COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
&#41; ON &#91;PRIMARY&#93; TEXTIMAGE_ON &#91;PRIMARY&#93;
GO


INSERT INTO Image &#40;img_pk,img_name,img_data,img_contenttype&#41;  " +
				" VALUES &#40;@img_pk, @img_name, @img_data,@img_contenttype &#41;"+
				" WHERE img_pk =3"

----------


## ناصرقلی

باید به جای insert از update استفاده کنید

----------


## faramarz_s

دقیقا به ذهن خودم هم رسیده بود.اما 
1-آیا اینزرت شرطی هم امکانپذیر است؟
2-در مورد متن زیر که از کتابهای همراه یافتم چه نظری داری؟
If an update query could alter more than one row while updating both the clustering key and one or more text, image, or Unicode columns, the update operation fails and SQL Server returns an error message.

Modifying a text, ntext, or image column with UPDATE initializes the column, assigns a valid text pointer to it, and allocates at least one data page unless updating the column with NULL.



Note  The UPDATE statement is logged. If you are replacing or modifying large blocks of text, ntext, or image data, use the WRITETEXT or UPDATETEXT statement instead of the UPDATE statement. The WRITETEXT and UPDATETEXT statements &#40;by default&#41; are not logged.

----------


## ناصرقلی

این یک نمونه از درج شرطی البته احتمالا حالتهای زیاد دیگه ای هم قابل انجام هست

if exists&#40;select username from users where username='site'&#41;
insert into users &#40;username,&#91;password&#93;&#41; values &#40;'hhh','ggg'&#41;

در مورد دومی هم باید روش فکر کنم ببینم منظورش چیه!

----------

