美文网首页
写了一个SQL

写了一个SQL

作者: 心彻 | 来源:发表于2018-01-26 13:13 被阅读14次

SQL如下:

SELECT DISTINCT ProjectID INTO #temp1 FROM ProjectSettings
SELECT ROW_NUMBER() OVER(ORDER BY ProjectID) AS Row_num,ProjectID INTO #temp2 FROM #temp1
DECLARE @count INT
DECLARE @i INT
SELECT @count=COUNT(DISTINCT Projectid) FROM ProjectSettings
SET @i=1
WHILE @i<@count
BEGIN
  DECLARE @projectid INT
  SELECT @projectid=ProjectID FROM #temp2 WHERE Row_num=@i
  IF NOT EXISTS(SELECT * FROM ProjectSettings WHERE ProjectID=@projectid AND Name='SDVWorkFlowID')
  --插入操作
SET @i=@i+1
END

DROP TABLE #temp1
DROP TABLE #temp2

这个SQL语句中用到了如下几个知识点:

  • 临时表
    #temp1#temp2都是临时表,以#开头作为标识,最后记得删除临时表
  • 变量的定义
    以DECLARE作为声明,以@开头作为标识,最后再加一个变量的类型
  • 循环
    WHILE 条件
    BEGIN
    操作
    SET @i=@i+1
    END

相关文章

网友评论

      本文标题:写了一个SQL

      本文链接:https://www.haomeiwen.com/subject/comiaxtx.html