亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 264514620.txt

?? 這個程序時還沒有powerdesigner,erwin的時候出現(xiàn)的
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
	  while(1)  {
	    lsk=ftell(fmt_lp);
	    if(fgets(buf1,NUM,fmt_lp)==NULL) { 
	      prim[strlen(prim)-1]='\0';
	      strcat(prim,")\n");fputs(prim,sql_lp);fputs("go\n",sql_lp);break; 
	    }
	    sub_space_tab(buf1);
	    if(buf1[0]=='\n')  continue;
	    if(buf1[0]=='[') { 
	      fseek(fmt_lp,lsk,SEEK_SET);
	      prim[strlen(prim)-1]='\0';
	      strcat(prim,")\n");fputs(prim,sql_lp);
	      fputs("go\n",sql_lp);break;  
	    }
	    get_name(buf1,fldname,FLDNAME);
	    get_name(buf1,pkey,PKEY);
	    if(pkey[0]=='y'||pkey[0]=='Y') 
	    strcat(prim,fldname),strcat(prim,",");
	  }
	}
	else { printf("%s format fail\n",table_name);exit(0);}
}

void creat_default(char *table_name)
{
	char buf1[NUM],cc[20];
	char fldname[80],def[80],typelen[20];
	int j,type_flag;

	fgets(buf1,NUM,fmt_lp);
	sub_space_tab(buf1);
	if(buf1[0]=='#')  {
	  while(1)  {
	    lsk=ftell(fmt_lp);
	    if(fgets(buf1,NUM,fmt_lp)==NULL) break;
	    sub_space_tab(buf1);
	    if(buf1[0]=='[') { fseek(fmt_lp,lsk,SEEK_SET);break;  }
	    if(buf1[0]=='\n')  continue;
	    get_name(buf1,fldname,FLDNAME);
	    get_name(buf1,def,DEFAULT);
	    get_name(buf1,typelen,TYPELEN);
	    if(def[0]!='\0'&&def[0]!='\n')      {
	      strncpy(cc,typelen,4);cc[4]='\0';
	      if(stricmp(cc,"char")==0) type_flag=0;
	      else  {
		j=0;while(data_type[j]!=NULL&&stricmp(typelen,data_type[j])!=0) j++;
		if(data_type[j]==NULL)  { printf("%s not found %s type\n",table_name,typelen);exit(0); }
		type_flag=j;
	      }
	      if(type_flag==0) 
	      strcpy(cc,"'"),strcat(cc,def),strcat(cc,"'");
	      else strcpy(cc,def);
	      sprintf(buf1,"execute sp_unbindefault '%s.%s'\n",table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("go\n",sql_lp);
	      sprintf(buf1,"if exists (select * from sysobjects where id=object_id('def%s%s'))\n",table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("begin\n",sql_lp);
	      sprintf(buf1,"  drop default def%s%s\n",table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("end\n",sql_lp);
	      fputs("go\n",sql_lp);
	      sprintf(buf1,"create default def%s%s as %s\n",table_name,fldname,cc);
	      fputs(buf1,sql_lp);
	      fputs("go\n",sql_lp);
	      sprintf(buf1,"execute sp_bindefault def%s%s, '%s.%s'\n",table_name,fldname,table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("go\n\n",sql_lp);
	    }
	  }
	}
	else { printf("%s format fail\n",table_name);exit(0);}
}

void creat_rule(char *table_name)
{
	char buf1[NUM];
	char fldname[80],rule[80];

	fgets(buf1,NUM,fmt_lp);
	sub_space_tab(buf1);
	if(buf1[0]=='#')  {
	  while(1)  {
	    lsk=ftell(fmt_lp);
	    if(fgets(buf1,NUM,fmt_lp)==NULL) break;
	    sub_space_tab(buf1);
	    if(buf1[0]=='[') { fseek(fmt_lp,lsk,SEEK_SET);break;  }
	    if(buf1[0]=='\n')  continue;
	    get_name(buf1,fldname,FLDNAME);
	    get_name(buf1,rule,RULE);
	    if(rule[0]!='\0'&&rule[0]!='\n')  {
	      sprintf(buf1,"if exists (select * from sysobjects where type='U' and name='rule%s%s')\n",table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("begin\n",sql_lp);
	      sprintf(buf1,"    drop rule rule%s%s\n",table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("end\n",sql_lp);
	      fputs("go\n",sql_lp);
	      sprintf(buf1,"create rule rule%s%s as\n",table_name,fldname);
	      fputs(buf1,sql_lp);
	      sprintf(buf1,"       @%s %s\n",fldname,rule);
	      fputs(buf1,sql_lp);
	      fputs("go\n",sql_lp);
	      sprintf(buf1,"execute sp_bindrule rule%s%s,'%s.%s'\n",table_name,fldname,table_name,fldname);
	      fputs(buf1,sql_lp);
	      fputs("go\n",sql_lp);
	    }
	  }
	}
	else { printf("%s format fail\n",table_name);exit(0);}
}

void creat_trigger(char *table_name)
{              
	char buf1[NUM];
	char reftab[80],refcol[80],fkey[80],ftabname[20],fldname[20];
	char father_tab[20][20],son_tab[100][20],father_fld[20][20],son_fld[100][20],son_col[100][20],father_col[20][20];
	int father_flag,son_flag,i,j,k;
	long seek_flag;

	fgets(buf1,NUM,fmt_lp);
	sub_space_tab(buf1);
	seek_flag=ftell(fmt_lp);
	father_flag=0;son_flag=0;
	if(buf1[0]=='#')  {
	  while(1)  {
	    lsk=ftell(fmt_lp);
	    if(fgets(buf1,NUM,fmt_lp)==NULL) break;
	    sub_space_tab(buf1);
	    if(buf1[0]=='[') { fseek(fmt_lp,lsk,SEEK_SET);break;  }
	    if(buf1[0]=='\n')  continue;
	    get_name(buf1,fldname,FLDNAME);
	    get_name(buf1,reftab,REFTAB);
	    get_name(buf1,refcol,REFCOL);
	    get_name(buf1,fkey,FKEY);
	    if(fkey[0]=='y'||fkey[0]=='Y')  {
	      if(reftab[0]=='\0'||refcol[0]=='\0') 
	      { printf("%s fkey is y , but not found reftab or refcol\n",table_name);exit(0);}
	      strcpy(father_tab[father_flag],reftab);
	      strcpy(father_fld[father_flag],fldname);
	      strcpy(father_col[father_flag],refcol);
	      father_flag++;
	    }
	  }
	  father_tab[father_flag][0]=0;
	  father_fld[father_flag][0]=0;
	}
	else { printf("%s format fail\n",table_name);exit(0);}
	fseek(fmt_lp,0L,SEEK_SET);
	son_flag=0;
	while(fgets(buf,NUM,fmt_lp)!=NULL)  {
	  sub_space_tab(buf);
	  if(buf[0]=='[')  {
	    i=1;j=1;
	    while(buf[i]!=']'&&buf[i]!='\0')
	    buf1[i-j]=buf[i],i++;
	    if(buf[i]==']')  {
	      buf1[i-j]='\0';
	      sub_space_tab(buf1);
	      k=0;
	      while(volid_table[k]!=NULL&&stricmp(volid_table[k],buf1)!=0) k++;
	      if(volid_table[k]==NULL&&stricmp(buf1,table_name)!=0) {
		strcpy(ftabname,buf1);
		fgets(buf1,NUM,fmt_lp);
		sub_space_tab(buf1);
		if(buf1[0]=='#')  {
		  while(1)  {
		    lsk=ftell(fmt_lp);
		    if(fgets(buf1,NUM,fmt_lp)==NULL) break;
		    sub_space_tab(buf1);
		    if(buf1[0]=='[') { fseek(fmt_lp,lsk,SEEK_SET);break;  }
		    if(buf1[0]=='\n')  continue;
		    get_name(buf1,fldname,FLDNAME);
		    get_name(buf1,reftab,REFTAB);
		    get_name(buf1,refcol,REFCOL);
		    get_name(buf1,fkey,FKEY);
		    if((fkey[0]=='y'||fkey[0]=='Y')&&stricmp(reftab,table_name)==0)  {
		      if(reftab[0]=='\0'||refcol[0]=='\0')
		      { printf("%s fkey is y , but not found reftab or refcol\n",table_name);exit(0);}
		      strcpy(son_tab[son_flag],ftabname);
		      strcpy(son_fld[son_flag],fldname);
		      strcpy(son_col[son_flag],refcol);
		      son_flag++;
		    }
		  }
		  son_tab[son_flag][0]=0;
		  son_fld[son_flag][0]=0;
		}
		else { printf("%s format fail\n",ftabname);exit(0);}
	      }
	    }
	  }
	}
	sprintf(buf1,"/**  table name [%s] **/\n",table_name);
	fputs(buf1,sql_lp);
	fputs("/**  father number  **/\n",sql_lp);
	father_flag=0;son_flag=0;
	while(father_tab[father_flag][0]!=0)    {
	  sprintf(buf1,"/** [%s][%s]  **/\n",father_tab[father_flag],father_fld[father_flag]);
	  fputs(buf1,sql_lp);
	  father_flag++;
	}
	fputs("/** son number  **/\n",sql_lp);
	while(son_tab[son_flag][0]!=0)  {
	  sprintf(buf1,"/** [%s][%s]  **/\n",son_tab[son_flag],son_fld[son_flag]);
	  fputs(buf1,sql_lp);
	  son_flag++;
	}
	son_flag=0;
	if(son_tab[son_flag][0]!=0)  {
	  sprintf(buf1,"/** delete trigger for [%s] **/\n",table_name);
	  fputs(buf1,sql_lp);
	  sprintf(buf1,"if exists (select * from sysobjects where type='TR' and name='del%s')\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("begin\n",sql_lp);
	  sprintf(buf1,"   drop trigger del%s\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("end\n",sql_lp);
	  fputs("go\n\n",sql_lp);
	  sprintf(buf1,"create trigger del%s\n",table_name);
	  fputs(buf1,sql_lp);
	  sprintf(buf1,"on %s\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("for delete\n",sql_lp);
	  fputs("as\n",sql_lp);
	  while(son_tab[son_flag][0]!=0)  {
	    sprintf(buf1,"if (select count(*) from deleted,%s\n",son_tab[son_flag]);
	    fputs(buf1,sql_lp);
	    sprintf(buf1,"where %s.%s=deleted.%s)>0\n",son_tab[son_flag],son_fld[son_flag],son_col[son_flag]);
	    fputs(buf1,sql_lp);
	    fputs("begin\n",sql_lp);
	    fputs("  rollback transaction\n",sql_lp);
	    sprintf(buf1,"  print 'Cannot delete %s with %s records'\n",son_fld[son_flag],son_tab[son_flag]);
	    fputs(buf1,sql_lp);
	    fputs("end\n",sql_lp);
	    son_flag++;
	  }
	  fputs("go\n\n\n",sql_lp);
	}
	father_flag=0;
	if(father_tab[father_flag][0]!=0)  {
	  sprintf(buf1,"/** update trigger for [%s] **/\n",table_name);
	  fputs(buf1,sql_lp);
	  sprintf(buf1,"if exists (select * from sysobjects where type='TR' and name='upd%s')\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("begin\n",sql_lp);
	  sprintf(buf1,"   drop trigger upd%s\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("end\n",sql_lp);
	  fputs("go\n\n",sql_lp);
	  sprintf(buf1,"create trigger upd%s\n",table_name);
	  fputs(buf1,sql_lp);
	  sprintf(buf1,"on %s\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("for update\n",sql_lp);
	  fputs("as\n",sql_lp);
	  fputs("declare @row int\n",sql_lp);
	  fputs("select @row=@@rowcount\n",sql_lp);
	  while(father_tab[father_flag][0]!=0)  {
	    sprintf(buf1,"if update(%s)\n",father_fld[father_flag]);
	    fputs(buf1,sql_lp);
	    fputs("begin\n",sql_lp);
	    sprintf(buf1," if (select distinct %s from inserted) is null\n",father_fld[father_flag]);
	    fputs(buf1,sql_lp);
	    fputs("  begin\n",sql_lp);
	    fputs("    rollback transaction\n",sql_lp);
	    fputs("  end\n",sql_lp);
	    fputs("  else\n",sql_lp);
	    sprintf(buf1,"  if (select count(*) from %s,inserted\n",father_tab[father_flag]);
	    fputs(buf1,sql_lp);
	    sprintf(buf1,"  where %s.%s=inserted.%s)!=@row\n",father_tab[father_flag],father_col[father_flag],father_fld[father_flag]);
	    fputs(buf1,sql_lp);
	    fputs("    begin\n",sql_lp);
	    fputs("    rollback transaction\n",sql_lp);
	    sprintf(buf1,"    print 'Some %s do not exist in %s'\n",father_fld[father_flag],father_tab[father_flag]);
	    fputs(buf1,sql_lp);
	    fputs("    end\n",sql_lp);
	    fputs("end\n",sql_lp);
	    father_flag++;
	  }
	  son_flag=0;
	  while(son_tab[son_flag][0]!=0)  {
	    sprintf(buf1,"if update(%s)\n",son_col[son_flag]);
	    fputs(buf1,sql_lp);
	    fputs("begin\n",sql_lp);
	    sprintf(buf1,"  if (select count(*) from %s,deleted where %s.%s=deleted.%s)>0\n",son_tab[son_flag],son_tab[son_flag],son_fld[son_flag],son_col[son_flag]);
	    fputs(buf1,sql_lp);
	    fputs("  begin\n",sql_lp);
	    sprintf(buf1,"    update %s set %s = inserted.%s\n",son_tab[son_flag],son_fld[son_flag],son_col[son_flag]);
	    fputs(buf1,sql_lp);
	    fputs("    from inserted,deleted\n",sql_lp);
	    sprintf(buf1,"    where %s.%s=deleted.%s\n",son_tab[son_flag],son_fld[son_flag],son_col[son_flag]);
	    fputs(buf1,sql_lp);
	    fputs("  end\n",sql_lp);
	    fputs("end\n",sql_lp);
	    son_flag++;
	  }
	  fputs("go\n\n\n",sql_lp);
	}
	father_flag=0;
	if(father_tab[father_flag][0]!=0)  {
	  sprintf(buf1,"/** insert trigger for [%s] **/\n",table_name);
	  fputs(buf1,sql_lp);
	  sprintf(buf1,"if exists (select * from sysobjects where type='TR' and name='ins%s')\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("begin\n",sql_lp);
	  sprintf(buf1,"   drop trigger ins%s\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("end\n",sql_lp);
	  fputs("go\n\n",sql_lp);
	  sprintf(buf1,"create trigger ins%s\n",table_name);
	  fputs(buf1,sql_lp);
	  sprintf(buf1,"on %s\n",table_name);
	  fputs(buf1,sql_lp);
	  fputs("for insert\n",sql_lp);
	  fputs("as\n",sql_lp);
	  fputs("declare @row int\n",sql_lp);
	  fputs("select @row=@@rowcount\n",sql_lp);
	  while(father_tab[father_flag][0]!=0)  {
	    sprintf(buf1,"if (select count(*) from %s,inserted\n",father_tab[father_flag]);
	    fputs(buf1,sql_lp);
	    sprintf(buf1,"where %s.%s=inserted.%s)!=@row\n",father_tab[father_flag],father_col[father_flag],father_fld[father_flag]);
	    fputs(buf1,sql_lp);
	    fputs("begin\n",sql_lp);
	    fputs("  rollback transaction\n",sql_lp);
	    sprintf(buf1,"  print 'Some %s not exist in %s'\n",father_fld[father_flag],father_tab[father_flag]);
	    fputs(buf1,sql_lp);
	    fputs("end\n",sql_lp);
	    father_flag++;
	  }
	  fputs("go\n\n\n",sql_lp);
	}
	fseek(fmt_lp,seek_flag,SEEK_SET);
}

void get_name(char *str1,char* str2,int flag_num)
{
	int i,j;

	i=0;j=0;
	while(i<flag_num-1) {
	  while(str1[j]!='|') j++;
	  j++;i++;
	}
	i=j;
	while(str1[j]!='|'&&str1[j]!='\n'&&str1[j]!='\0')
	str2[j-i]=str1[j],j++;
	str2[j-i]='\0';
	sub_space_tab(str2);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191国产精品| 精品国产乱码久久久久久免费 | 久久99精品久久久久久| 亚洲国产精品嫩草影院| 洋洋av久久久久久久一区| 亚洲色图视频免费播放| 亚洲人成影院在线观看| 中文字幕一区免费在线观看| 国产精品久久久久久久浪潮网站| 亚洲国产精品精华液ab| 中文在线一区二区| 国产精品电影一区二区三区| 专区另类欧美日韩| 一区二区欧美国产| 亚洲国产成人av网| 日本不卡免费在线视频| 麻豆精品一区二区av白丝在线| 久久国产精品色| 国产精品18久久久| 成人app在线观看| 91小视频免费看| 欧美色手机在线观看| 欧美日韩黄色影视| 日韩三级在线免费观看| 亚洲精品一区二区在线观看| 国产丝袜在线精品| 亚洲欧洲无码一区二区三区| 伊人色综合久久天天人手人婷| 亚洲成av人在线观看| 蜜臀av国产精品久久久久| 国产精品主播直播| 99久久婷婷国产精品综合| 欧美在线一二三| 日韩精品一区二区三区在线| 国产亲近乱来精品视频| 一区二区三区四区中文字幕| 免费观看30秒视频久久| 国产91丝袜在线观看| 欧美亚洲日本国产| 日韩久久免费av| 亚洲视频小说图片| 日本在线不卡一区| 国产91在线|亚洲| 欧美日韩午夜在线视频| 久久午夜电影网| 亚洲欧美偷拍另类a∨色屁股| 丝袜美腿亚洲综合| 国产很黄免费观看久久| 91久久精品一区二区三区| 精品国精品国产| 一二三四区精品视频| 精品伊人久久久久7777人| 不卡免费追剧大全电视剧网站| 欧美日韩黄视频| 国产精品日产欧美久久久久| 日韩激情av在线| aaa欧美色吧激情视频| 日韩视频免费观看高清完整版在线观看| 国产精品久久久久久久久果冻传媒| 午夜欧美在线一二页| 成人av小说网| 欧美一级淫片007| 亚洲人123区| 国产精品一区不卡| 欧美乱妇一区二区三区不卡视频| 国产欧美va欧美不卡在线| 香蕉加勒比综合久久| 99国产精品国产精品毛片| 日韩视频国产视频| 亚洲国产综合91精品麻豆| 成人理论电影网| 精品99一区二区| 午夜精品免费在线观看| 91麻豆免费观看| 国产亚洲精品7777| 蜜臀av一区二区在线免费观看| 在线视频国产一区| 国产精品久久久久久久第一福利 | 成人福利视频网站| 日韩三级在线观看| 午夜精品一区在线观看| 99久久精品免费看国产免费软件| 2020国产成人综合网| 日韩激情av在线| 欧洲另类一二三四区| 国产精品卡一卡二| 国产一区 二区 三区一级| 欧美一级xxx| 亚洲va中文字幕| 日本韩国欧美一区二区三区| 国产精品久久久久影院亚瑟 | 日韩免费看的电影| 亚洲成人精品一区| 欧美午夜免费电影| 亚洲日本中文字幕区| 成人永久免费视频| 国产亚洲视频系列| 国产精品1024| 久久亚洲一区二区三区明星换脸| 美脚の诱脚舐め脚责91 | 国产亚洲精品福利| 国产精一区二区三区| 久久影院午夜论| 国产在线一区观看| 精品99一区二区三区| 韩国一区二区在线观看| 日韩精品一区二区三区四区视频| 美国十次了思思久久精品导航| 欧美一区二区三区思思人| 日韩电影在线免费| 欧美一级在线观看| 精品一区二区三区日韩| 欧美精品一区视频| 国产原创一区二区| 国产日韩精品久久久| av在线这里只有精品| 亚洲三级在线看| 欧美最猛性xxxxx直播| 亚洲成人av在线电影| 91精品国产乱码久久蜜臀| 美日韩一区二区| 久久久99精品久久| av午夜精品一区二区三区| 亚洲欧美日韩一区二区| 在线观看日韩国产| 日日摸夜夜添夜夜添精品视频| 日韩欧美你懂的| 国产盗摄女厕一区二区三区| 1024成人网| 欧美日韩成人激情| 久久草av在线| 欧美激情艳妇裸体舞| 一本一道波多野结衣一区二区| 亚洲国产日韩在线一区模特| 日韩视频在线观看一区二区| 国产精品影视在线观看| 亚洲丝袜自拍清纯另类| 欧美色区777第一页| 黑人精品欧美一区二区蜜桃| 中文字幕亚洲综合久久菠萝蜜| 欧亚一区二区三区| 久草在线在线精品观看| 国产精品国产三级国产aⅴ中文| 欧美在线观看18| 韩国一区二区在线观看| 亚洲欧美偷拍另类a∨色屁股| 欧美精品精品一区| 国产东北露脸精品视频| 亚洲欧洲国产专区| 欧美一区二区三区性视频| 国产成人鲁色资源国产91色综| 亚洲线精品一区二区三区| 欧美本精品男人aⅴ天堂| 白白色 亚洲乱淫| 日本美女一区二区三区视频| 国产女主播在线一区二区| 欧美艳星brazzers| 国产一区二区免费在线| 亚洲最大的成人av| 欧美成人一区二区| 一本大道综合伊人精品热热 | 粗大黑人巨茎大战欧美成人| 亚洲成人av资源| 国产精品―色哟哟| 日韩一二三四区| 色综合夜色一区| 国内精品久久久久影院薰衣草| 一区二区激情视频| 久久精品免费在线观看| 69精品人人人人| 一本色道久久加勒比精品| 紧缚奴在线一区二区三区| 亚洲韩国一区二区三区| 中文字幕av一区二区三区| 日韩一区二区三区免费观看| 色噜噜狠狠成人网p站| 国产v综合v亚洲欧| 美国毛片一区二区三区| 亚洲国产日韩av| 亚洲日本在线看| 欧美国产97人人爽人人喊| 日韩欧美的一区| 欧美年轻男男videosbes| 色综合一个色综合亚洲| 风流少妇一区二区| 美日韩一区二区三区| 无吗不卡中文字幕| 一区二区三区美女视频| 国产精品超碰97尤物18| 国产欧美中文在线| 欧美变态tickling挠脚心| 在线综合+亚洲+欧美中文字幕| 欧美亚洲一区二区在线观看| 色综合一个色综合亚洲| a亚洲天堂av| 99久精品国产| av高清久久久| a美女胸又www黄视频久久| 成人免费毛片嘿嘿连载视频| 国产成人免费9x9x人网站视频|