回答編集履歴

3

修正

2017/02/23 12:09

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  テーブル名は table1 となっていますので、適宜書き換えてください。
12
12
 
13
- 私なら `{0}` として string.Format() を使います。
13
+ 私ならパラメータを使うか `{0}` として string.Format() を使います。
14
14
 
15
15
  ```SQL
16
16
 

2

修正

2017/02/23 12:09

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  作ってみました。
10
10
 
11
- テーブル名は table となっていますので、適宜書き換えてください。
11
+ テーブル名は table1 となっていますので、適宜書き換えてください。
12
12
 
13
13
  私なら `{0}` として string.Format() を使います。
14
14
 

1

追記

2017/02/23 12:08

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -1 +1,83 @@
1
1
  [SQLServerでSQLを使ってテーブルのカラム名(項目名)を取得する](http://lightgauge.net/database/sqlserver/1491/) を参考に列番号から列名を求め、そこから SQL 文を組み立ててみてはいかがでしょうか?
2
+
3
+
4
+
5
+ 追記
6
+
7
+
8
+
9
+ 作ってみました。
10
+
11
+ テーブル名は table となっていますので、適宜書き換えてください。
12
+
13
+ 私なら `{0}` として string.Format() を使います。
14
+
15
+ ```SQL
16
+
17
+ declare @result varchar(8000);
18
+
19
+ declare @s varchar(8000);
20
+
21
+ declare @seperator varchar(2);
22
+
23
+
24
+
25
+ declare c cursor for
26
+
27
+ select column_name
28
+
29
+ from information_schema.columns
30
+
31
+ where table_name = 'table1' and ordinal_position > 10;
32
+
33
+
34
+
35
+ set @result = 'select ';
36
+
37
+ set @seperator = '';
38
+
39
+ open c;
40
+
41
+ while 0 = 0
42
+
43
+ begin
44
+
45
+ fetch next from c into @s;
46
+
47
+ if @@fetch_status = 0
48
+
49
+ begin
50
+
51
+ set @result += @seperator;
52
+
53
+ set @result += @s;
54
+
55
+ set @seperator = ', ';
56
+
57
+ continue;
58
+
59
+ end
60
+
61
+ else
62
+
63
+ begin
64
+
65
+ break;
66
+
67
+ end
68
+
69
+ end
70
+
71
+ close c;
72
+
73
+ deallocate c;
74
+
75
+
76
+
77
+ set @result += ' from table1'
78
+
79
+ execute(@result);
80
+
81
+ ```
82
+
83
+