First use cursor and initially understand it
2007-10-10 09:11
344 查看
理解了数据库中的指针,但让凭空写出这些代码好像还有些困难,这可能是熟练的问题吧。
DECLARE @Customer VARCHAR(40),@Project VARCHAR(40)
DECLARE @NUM INT,@NUM1 INT,@iID INT
DECLARE CUR_Backlog CURSOR FOR
SELECT Customer,Project FROM BACKLOG
OPEN CUR_Backlog
FETCH NEXT FROM CUR_Backlog
INTO @Customer,@Project
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @NUM=COUNT(*) FROM PROJECT WHERE PROJECT=@Project AND CUSTOMER=@Customer
IF @NUM=0
BEGIN
SELECT @NUM1=COUNT(*) FROM FORECAST_12M WHERE PROJECT=@Project AND CUSTOMER=@Customer
INSERT INTO PROJECT VALUES(@Project,@Customer)
SET @iID=@@IDENTITY
IF @NUM1=0
INSERT INTO FORECAST_12M
VALUES(@iID,@Project,@Customer,0,0)
END
FETCH NEXT FROM CUR_Backlog
INTO @Customer,@Project
END
CLOSE CUR_Backlog
DEALLOCATE CUR_Backlog
DECLARE @Customer VARCHAR(40),@Project VARCHAR(40)
DECLARE @NUM INT,@NUM1 INT,@iID INT
DECLARE CUR_Backlog CURSOR FOR
SELECT Customer,Project FROM BACKLOG
OPEN CUR_Backlog
FETCH NEXT FROM CUR_Backlog
INTO @Customer,@Project
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @NUM=COUNT(*) FROM PROJECT WHERE PROJECT=@Project AND CUSTOMER=@Customer
IF @NUM=0
BEGIN
SELECT @NUM1=COUNT(*) FROM FORECAST_12M WHERE PROJECT=@Project AND CUSTOMER=@Customer
INSERT INTO PROJECT VALUES(@Project,@Customer)
SET @iID=@@IDENTITY
IF @NUM1=0
INSERT INTO FORECAST_12M
VALUES(@iID,@Project,@Customer,0,0)
END
FETCH NEXT FROM CUR_Backlog
INTO @Customer,@Project
END
CLOSE CUR_Backlog
DEALLOCATE CUR_Backlog
相关文章推荐
- Study Note of use of MessageBox() and its surrounding information(MFC)
- performance tuning case: array search & date order by , data updated daily (use cursor solve it)
- install eigen in ubuntu and use it in qt
- Entity Framework Code First - Stop autoincrement and use my Primary Key
- What does AspCompat="true" mean and when should I use it?
- Use a String.Format format and transform its output to its inputs?
- Create a C++ DLL and Use It in C# (P/Invoke)
- MongoDB sharding: understand it first
- change MySQL's config file and let it use utf-8 by default
- Create a Thread and Use it.
- install opencv on mac and use it in xcode
- the command 'vim' and how to use it
- First Time Use It
- About the issue of After delete a record from grid and refresh the datasource, the cursor go to first top record.
- How to create a DLL library in C and then use it with C#
- What is JNI Graphics and how to use it?
- Create a C++ DLL and Use It in Visual C++
- Cross compile gdbserver and use it in ARM linux (在ARM uClinux下编译和使用gdbserver)
- Create a Dlg's Thread and use it,this can use dlg handle.
- (Page 1 of 3 )A walking tour of JavaBeans What JavaBeans is, how it works, and why you want to use it