MySQL如果执行存在

时间:2013-09-02 04:21:19

标签: mysql sql

我尝试在我的表(用户)中找到数据时设置存在。在查询中,我需要使用变量。但是,在IF情况下,它不起作用。任何理想?或其他任何方式吗?

DECLARE
@myTableName varchar(1000), 
@myQuery varchar(1000)

SET @myTableName = userTable   //the userTable i will retrieve from a parameter
SET @myQuery = 'SELECT TOP 1 1 FROM  ' + @myTableName + ''


IF EXISTS (EXEC(@myQuery))
    BEGIN
        print('Success')
    END
ELSE
    BEGIN
        print('Failed')
    END

1 个答案:

答案 0 :(得分:1)

SET @myQuery = 'SELECT * FROM  ' + @myTableName + ' LIMIT 0,1 '

如果它不起作用,您可以尝试这种方法:

DECLARE
@myTableName varchar(1000), 
@i int

SET @myTableName = userTable   //the userTable i will retrieve from a parameter
SET @i = 'SELECT count(*) AS cnt FROM  ' + @myTableName + ''

IF @i > 0
    BEGIN
        print('Success')
    END
ELSE
    BEGIN
        print('Failed')
    END