存在sql
A. sql如何判断一行数据是否存在
if exists(select 1 from WinBid where ProjectID = @ProjectID)
-- update...
else
-- insert...
或者
update ...
if @@rowcount <> 1
insert...
B. sql 判断是否存在
declare @a int --定义变量
select @a=count(*) from A where id = '2' --查询表A是否存在id='2'的数据,并赋值给变量@a
--以下为判断
if @a='0'
begin
print '不存在'
insert into aaa (id) values ('2') --插入数据
end
else
print '存在'
C. SQL 语句判断记录是否存在
方法1:
判断表中是否存在记录的SQL语句
判断表中是否存在记录,我们惯常使用的语句是:
select COUNT(*) from tableName where conditions
方法2:
如果只是判断记录是否存在,而不需要获取实际表中的记录数还有一种推荐做法:
if exists (select * from tableName where conditions) select '1' else select '0'
通过返回值去判断是否存在。
据推荐,第二种方法效率高些,但使用profiler工具分析
通过where条件过滤出100多条数据时。第一种方法的rtion明显比第二种方法的低很多
也就是说,第一种效率高些。
D. sql 判断是否存在,不存在执行下一条语句
if not eixsts (select * from gds where id='123' )
select * from gds2 where id=123
E. 如何判断SQL中某个数据库是否存在
在SQL Server数据库编程时,常常需要判断一个数据库是否已经存在,如果不存在则创建此数据库。常用的方法有以下三种:
1. select * From master.dbo.sysdatabases where name='test_db'
如果不存在查询结果,则说明name所表示的数据库不存在
2. object_id('test_db')
如果无法获取对象ID(null),则说明此对象不存在;常用
if object_id('test_db') is null
或者
if (select object_id('test_db')) is null
3. db_id('test_db')
如果不能获取数据库ID,则说明name所表示的数据库不存在;实际上此种方法也是在sysdatabases中查找,并返回数据库的ID;常用
if db_id('test_db') is null
或者
if (select db_id('test_db')) is null
F. sql 查询 数据库中数据是否存在
select
count(*)
from
table1
where
....
然后用一个int接受,看这个int是否大于0,大于0就通过,否则不通过
G. 怎么判断sql数据库是否存在,存在删除
判断数据库,如果存在则删除:
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
DROP DATABASE dbname
如果提示:删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use),使用:
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
BEGIN
USE master
ALTER DATABASE dbname
SET single_user
WITH ROLLBACK IMMEDIATE
DROP DATABASE dbname
(7)存在sql扩展阅读
判断储存过程,如果存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE name='procerename' AND type='P'))
DROP PROCEDURE procerename
判断触发器,如果存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1))
DROP TRIGGER triggername
判断用户函数是否存在,如果存在则删除
此处type有两种: 'TF'- Table-Value Function 表值函数 'FN'- Scalar-Value Function 标量值函数
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[userfunction]') AND (type='FN' OR type='TF')))
DROP FUNCTION userfunction
H. SQL如何查找我提供的数据是否存在于数据库表中
declare @cloumns varchar(40)declare @tablename varchar(40)declare @str varchar(40)declare @counts intdeclare @sql nvarchar(2000)declare MyCursor Cursor For Select a.name as Columns, b.name as TableName from syscolumns a,sysobjects b,systypes c where a.id = b.idand b.type = 'U' and a.xtype=c.xtypeand c.name like '%char%'set @str='张三'Open MyCursorFetch next From MyCursor Into @cloumns,@tablenameWhile(@@Fetch_Status = 0)Begin set @sql='select @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''execute sp_executesql @sql,N'@tmp_counts int out',@counts out if @counts>0 begin print '表名为:'+@tablename+',字段名为'+@cloumns endFetch next From MyCursor Into @cloumns,@tablenameEndClose MyCursorDeallocate MyCursor
I. sql server查询数据是否存在
ADOQUERY.SQL.ADD( "select * from user where username='" + username + "'");
ADOQUERY.SQL.ADD('AND PASSWORD='''+PASS+'''');
IF ADOQUERY.RecordCount=1 then
用户密码验证正确